从另一个线程运行线程

And*_*Dev 4 java multithreading android

我测试下面的代码并没有出现Toast消息而且"TestMethod"没有调用"Catch"方法,请帮帮我?

public void TestMethod()
 {
     Test= new Thread(new Runnable() {
         public void run() {
             try{
                Catch(); 
             }
             catch (Exception ioe) 
             {

             }

         }
     });
     Test.start();
 }
public void Catch()
 {
     Test2= new Thread(new Runnable() {
         public void run() {
             try{
                 Toast.makeText(getApplicationContext(), "Yes", Toast.LENGTH_SHORT).show();
             }
             catch (Exception ioe) 
             {

             }

         }
     });
     Test2.start();
 }
Run Code Online (Sandbox Code Playgroud)

Par*_*ani 6

可能runOnUiThread对你有帮助.

  • runOnUiThread允许您使用UI线程,让您在UI线程上执行操作.

试试这个:

runOnUiThread(new Runnable() 
{
      public void run() 
      { 
         Toast.makeText(getApplicationContext(), "Yes", Toast.LENGTH_SHORT).show(); 
      }
});
Run Code Online (Sandbox Code Playgroud)


Nik*_*zov 5

你应该调用Toast.makeTextUI线程.阅读本文了解更多详情.