Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 吐司罐头';不能在新的runnable中使用?_Java_Android - Fatal编程技术网

Java 吐司罐头';不能在新的runnable中使用?

Java 吐司罐头';不能在新的runnable中使用?,java,android,Java,Android,作为标题,我在runnable中使用toast,但有一个错误 我的代码: 您不能使用来自其他线程的祝酒词(或任何在UI上显示内容的内容) 请参见您不能在其他线程中直接使用toast,但有一个解决方案 你创建了你的msgHandler mHandler = new Handler() { @Override public void handleMessage(Message msg) { String mString=(Strin

作为标题,我在runnable中使用toast,但有一个错误 我的代码:

您不能使用来自其他线程的祝酒词(或任何在UI上显示内容的内容)


请参见

您不能在其他线程中直接使用toast,但有一个解决方案 你创建了你的msgHandler

 mHandler = new Handler() { 
              @Override public void handleMessage(Message msg) { 
                 String mString=(String)msg.obj;
                 Toast.makeText(this, mString, Toast.LENGTH_SHORT).show();
              }
          };
之后,您将从线程传递消息

 new Thread(new Runnable() {

                           @Override
                           public void run() {
                                   while(!Thread.interrupted())
                                   {

                                       Message msg=new Message();
                                       msg.obj="your text";
                                       mHandler.sendMessage(msg);
                                        try {
                                            Thread.sleep(100);
                                        } 
                                        catch (InterruptedException e) {
                                           e.printStackTrace();
                                        }
                                   }
                           }
                   }).start();

“有一个错误”。多好啊!能告诉我们是哪一个吗?错误消息是您的朋友!他们的存在不仅仅是为了缠着你!如果我只需要使用handler或其他方式,handler对于实现这个OnlyRunNuithRead来说很复杂,这是一个简单一点的方法,对我来说很有用。
 new Thread(new Runnable() {

                           @Override
                           public void run() {
                                   while(!Thread.interrupted())
                                   {

                                       Message msg=new Message();
                                       msg.obj="your text";
                                       mHandler.sendMessage(msg);
                                        try {
                                            Thread.sleep(100);
                                        } 
                                        catch (InterruptedException e) {
                                           e.printStackTrace();
                                        }
                                   }
                           }
                   }).start();