【发布时间】:2014-07-09 12:44:55
【问题描述】:
在我的应用程序中,我有一个按钮,当它被点击时,我会启动一个新线程并更改按钮的文本。如果我再次按下按钮,它将开始更快地更改其文本。
我想在第二次按下按钮时中断线程。正确的做法是什么?
public class TestActivity extends Activity {
Button btn;
int i = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
runThread();
}
});
}
private void runThread() {
new Thread() {
public void run() {
while (i++ < 1000) {
try {
runOnUiThread(new Runnable() {
@Override
public void run() {
btn.setText("#" + i);
}
});
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
【问题讨论】:
标签: java android multithreading