我做了一個簡單的應用程序,它將count加1,並在TextView上顯示計數。它編譯和安裝的很好,但是當我運行它時,一條消息立即說:「不幸的是,Counter已經停止。」Android應用程序不運行
package com.android.counter;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class CounterActivity extends Activity {
/** Called when the activity is first created. */
private static int count = 0;
Button increment = (Button) findViewById(R.id.inc);
TextView tv = (TextView) findViewById(R.id.CountDisp);
Runnable update = new Runnable()
{
public void run() {
increment.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
count++;
tv.setText("Count:" + count);
}
});
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Thread thr = new Thread(update);
thr.start();
}
}
實際上'tv.setText(...)'不會失敗,因爲它將在UI線程中被調用......在UI線程上未調用的唯一部分是'increment.setOnClickListener' – Selvin 2012-04-02 15:54:33
@Selvin:好點和我我編輯了我的答案。我的大腦放慢速度 - 我想我需要另一杯咖啡。 – Squonk 2012-04-02 16:03:04