显示 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
        }
    });