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个。我如何解决这个问题?谢谢。