所以我想在我的Anroid程序中实现Timer,我发现更好的方法就是使用Handler类。
首先,我决定使用Handler编写最简单的程序 - 文本在1秒后设置。我是Android的初学者,所以我在网上浏览了一些特别是那个http://developer.android.com/resources/articles/timed-ui-updates.html的教程,但我的应用程序仍显示错误(“应用程序mTimer停止”)。
所以有人能指出我到底错在哪里吗?我很感激,这是代码:
public class mTimer extends Activity {
TextView tv;
Button button1,button2;
Handler mHandler;
private Runnable myTask = new Runnable() {
public void run() {
tv.setText("text");
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1=(Button)findViewById(R.id.button1);
tv=(TextView)findViewById(R.id.textView1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mHandler.postDelayed(myTask, 100);
}
});
}
}
答案 0 :(得分:2)
您应该使用Handler
之类的代码初始化onCreate
方法中的mHandler = new Handler();
。
注意,myTask
任务将在UI线程上运行,因为你的处理程序是在那里声明的
Handler.postDelayed
的API文档:
runnable将在线程上运行 这个处理程序附加到哪个。