我有兩個活動,一個是主要的,我有一個名爲測試以及的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