Android中的线程和并行性

问题描述 投票:0回答:1

我对Android开发非常陌生。谁能帮助我解决这个摘要,尽管我从工作线程更新TextView时,我仍然不知道为什么它能正常工作。

[当我说得很完美时,我的意思是TextView显示值计数没有问题。

public class MainActivity extends AppCompatActivity {
    TextView textView ;
    private int count;
    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.textview);
        btn = findViewById(R.id.startbtn);
        btn.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                listen();
            }
        });
    }

    public void listen(){
        new Thread(new Runnable() {
            @Override
            public void run()  {
                long time = System.currentTimeMillis();
                while(System.currentTimeMillis()<=time +10000) {
                    count++;
                }
                textView.setText(count+"");
            }
        }).start();
    }
}
android performance ui-thread android-threading
1个回答
0
投票

使用

runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                            // Add UI code here

                        }
                    });

所有UI更新应在主线程上完成。

© www.soinside.com 2019 - 2024. All rights reserved.