在Android中,Toast是一个简单的UI元素,可用于向用户提供上下文反馈。
要显示一条简单的Toast消息,我们可以执行以下操作。
// 声明用于Toast的参数 Context context = getApplicationContext(); // in an Activity, you may also use "this" // 在一个片段中,可以使用getActivity() CharSequence message = "I'm an Android Toast!"; int duration = Toast.LENGTH_LONG; //Toast.LENGTH_SHOR是另一个选项 // 创建Toast对象,然后显示它! Toast myToast = Toast.makeText(context, message, duration); myToast.show();
或者,要显示内联的Toast,而无需保留Toast对象,您可以:
Toast.makeText(context, "Ding! Your Toast is ready.", Toast.LENGTH_SHORT).show();
重要说明:确保show()从UI线程调用了该方法。如果您尝试Toast从其他线程显示a ,则可以使用的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() { // 您的代码在这里 } });