我試圖測試UI和Timer類的可能性。所以,我想下面的練習:從TimerTask的運行方法更新TextView時出錯
=== TestTimerActivity.java ===
package com.tvt.TestTimer;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.Timer;
import java.util.TimerTask;
public class TestTimerActivity extends Activity {
TextView _tv;
Timer _t;
int _count = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//
// _tv = (TextView) getWindow().getDecorView().findViewById(R.id.TextViewTime);
_tv = (TextView) findViewById(R.id.TextViewTime);
UpdateTime(); // Completes OK
_t = new Timer();
_t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
_count++;
UpdateTime(); // Fails
}
}, 1000, 1000);
}
protected void UpdateTime() {
_tv.setText("" + _count);
}
}
=== TestTimerActivity.java ===
=== main.xml中===
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:gravity="center_horizontal" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/header" android:id="@+id/TestViewHeader" android:textStyle="bold"/>
<TextView android:layout_height="wrap_content" android:id="@+id/TextViewTime" android:layout_width="match_parent" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="-"></TextView>
</LinearLayout>
=== main.xml中===
的第一個電話更新時間(從的onCreate)完成確定的,但同樣的來自TimerTask :: run()的調用未能給出消息「TestTimer類已意外停止」。
有什麼想法?我的錯在哪裏?
-
SY,TVT
張貼您的logcat .. – ngesh