Multithreading Android编程中的线程
请看我的密码Multithreading Android编程中的线程,multithreading,Multithreading,请看我的密码 import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { private TextView txtView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView txtView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
txtView = (TextView) findViewById(R.id.txtView01);
try {
for (int i = 0; i <= 10; i++) {
txtView.setText(i + " ");
Thread.sleep(1000);
}
} catch (InterruptedException e) {
txtView.setText("Main thread interrupted");
}
}
}
导入android.app.Activity;
导入android.os.Bundle;
导入android.widget.TextView;
公共类MainActivity扩展了活动{
私有文本视图txtView;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
txtView=(TextView)findViewById(R.id.txtView01);
试一试{
对于(int i=0;i我感觉这有点快,有点脏,在某些情况下它不能正常工作(例如,旋转屏幕),但这里是:
public class MainActivity extends Activity {
private TextView txtView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
txtView = (TextView) findViewById(R.id.txtView01);
Thread thread = new Thread(new Runnable() {
@Override public void run() {
try {
for (int i = 0; i <= 10; i++) {
runOnUiThread(new Runnable() {
@Override public void run() {
txtView.setText(i + " ");
}
}
Thread.sleep(1000);
}
} catch (InterruptedException e) {
txtView.setText("Counter thread interrupted");
}
}
});
thread.start();
}
公共类MainActivity扩展活动{
私有文本视图txtView;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
txtView=(TextView)findViewById(R.id.txtView01);
Thread Thread=新线程(new Runnable(){
@重写公共无效运行(){
试一试{
对于(int i=0;i结束的线程在哪里?不清楚您希望看到什么,是否希望每秒更新从1到10的所有数字,但正确地说,您只看到10?如果这是您希望看到的,您无法在OnCreate中正确执行,请添加特定线程(在主线程上进行更新)或者最好添加一个异步任务。是的。我只看到10个。我如何解决这个问题?谢谢。