显示 Toast 消息
在 Android 中,Toast 是一个简单的 UI 元素,可用于向用户提供上下文反馈。
要显示简单的 Toast 消息,我们可以执行以下操作。
// Declare the parameters to use for the Toast
Context context = getApplicationContext();
// in an Activity, you may also use "this"
// in a fragment, you can use getActivity()
CharSequence message = "I'm an Android Toast!";
int duration = Toast.LENGTH_LONG; // Toast.LENGTH_SHORT is the other option
// Create the Toast object, and show it!
Toast myToast = Toast.makeText(context, message, duration);
myToast.show();
或者,要显示 Toast 内联,而不保持 Toast 对象,你可以:
Toast.makeText(context, "Ding! Your Toast is ready.", Toast.LENGTH_SHORT).show();
重要信息: 确保从 UI 线程调用 show()
方法。如果你想显示来自不同的线程 Toast
可以如使用 runOnUiThread
的方法 Activity
。
如果没有这样做,意味着尝试通过创建 Toast 来修改 UI,将会抛出一个如下所示的 RuntimeException
:
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
处理此异常的最简单方法是使用 runOnUiThread:语法如下所示。
runOnUiThread(new Runnable() {
@Override
public void run() {
// Your code here
}
});