为什么用简单线程更新进度条?

Android文档说“不能通过非UI线程更新UI”,但是在进度条的情况下,不会引发异常。我的进度栏正在由非ui(原始线程)更新。但是,在其他小部件的情况下,我会得到例外。我只想澄清为什么发生这种情况(不应该发生)!这是我的代码:

public class Mainactivity extends AppCompatactivity {
    ProgressBar progressBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar=findViewById(R.id.progress_bar);

        MyThread thread=new MyThread();
        thread.start();
    }

    public class MyThread extends Thread{
        @Override
        public void run() {
            super.run();
            int i=0;
            while(i<=100){
                i++;
                progressBar.setProgress(i);
                try
                {

                    Thread.sleep(50);

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
keith1985 回答:为什么用简单线程更新进度条?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3129002.html

大家都在问