我有两个活动,一个是主要的,我有一个名为测试以及的android:如何将文本追加到TextView的另一个动作每2秒
在主要活动我有一个按钮,当我点击另一个活动这个按钮我去测试活动
在测试活动我想申请到一些文本自动追加到TextView的,它具有每10秒
这段文字可以是例如“测试” 所以每10秒“测试”将被添加 但是,当我离开活动并去到主要活动,这个过程将继续发生 因此,如果例如我花了20秒的主要活动,然后返回到测试活动,我会在文本视图中看到两个更多的“测试”字符串..
I试图与TimerTask的这样做的,必须不惜一切
没有成功,这是测试活动的代码,在主要活动我只是有一个显示我的其他活动
public class test2 extends Activity {
/** Called when the activity is first created. */
private TimerTask task;
private Handler handler;
private TextView tv;
private Timer t;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text1);
t = new Timer();
task = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
TextView tv = (TextView) findViewById(R.id.tv1);
tv.append("test");
}
});
}
};
t.schedule(task, 2000);
}
}
当我在按钮单击该按钮主要活动为了去测试活动我得到以下错误:
FATAL EXCEPTION: Timer-0
java.lang.NullPointerException
在此先感谢
''处理程序'初始化在你提供的代码片段中没有看到的地方吗? – harism 2012-01-10 23:08:26
哈里斯,你是对的,但现在它只是显示第一个“测试”字符串,没有别的... – js2 2012-01-10 23:14:32
Timer.scheduleAtFixedRate(..)也许你正在寻找如果你想让它重复固定间隔。请记住,在Activity被销毁之前取消它的执行,比如Activity.onDestroy()。但正如约翰指出的那样,我不确定这是否是一种你以后的做法。 – harism 2012-01-10 23:21:07