我是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();
}
});
}
答案 0 :(得分:0)
您的线程有效,但Toast必须显示在应用程序的主线程上。 尝试使用:
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(getApplicationContext(), "thread called", Toast.LENGTH_LONG).show();
}
});
这就是当你没有在UI线程中把东西放在UI线程中的时候。