Документация Android гласит: «Пользовательский интерфейс не может быть обновлен потоком, не связанным с пользовательским интерфейсом», но в случае индикатора выполнения исключение не выдается. Мой индикатор прогресса обновляется не пользовательским интерфейсом (необработанным потоком). Тем не менее, я получаю исключение в случае других виджетов. Я просто хочу уточнить, почему это происходит (этого не должно происходить)! вот мой код:
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();
}
}
}
}
}