为什么runnable线程不起作用?

时间:2015-04-02 15:12:15

标签: java android multithreading runnable

enter image description here我是android新手中的新手。我想在onCreate()方法上调用一个新的可运行线程。我的意思是当调用onCreate()方法时,也调用了我用来做动画工作的线程。 我做了一个测试线程的基本应用程序,但它不起作用。 关注我的源代码。请告诉我背后的原因,以及如何解决它。感谢。

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

            t.start();
    }


    Thread t = new Thread(new Runnable() {
        public void run() {

            Toast.makeText(getApplicationContext(), "thread called", Toast.LENGTH_LONG).show();

        }
    });
}

1 个答案:

答案 0 :(得分:0)

您的线程有效,但Toast必须显示在应用程序的主线程上。 尝试使用:

runOnUiThread(new Runnable() {
    public void run() {
        Toast.makeText(getApplicationContext(), "thread called", Toast.LENGTH_LONG).show();
    }
});

这就是当你没有在UI线程中把东西放在UI线程中的时候。