我做了一个简单的应用程序,它将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