0
多くのチュートリアルやオンラインリソースから、私たちがメインスレッド以外のUI要素にアクセスすることはできません。ここでは、ハンドラ、runOnUiThread、またはAsyncTaskを使用してUI要素にアクセスできます。しかし、ここでは、次のコードからこれに関する質問があります。上記のコードでメインスレッド以外のUI要素にアクセスすることはできますか?
public class MainActivity extends Activity {
ProgressBar progress;
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progress = (ProgressBar) findViewById(R.id.progreeBar);
text = (TextView) findViewById(R.id.loading);
Thread thread = new Thread(new myThread());
thread.start();
}
public class myThread implements Runnable{
@Override
public void run() {
progress.setProgress(50);
text.setText("counter: "+50);
}
}
}
、私は、任意のハンドラ、runOnUiThread、又はAsyncTaskを使用せずに別のスレッドからUI要素にアクセスすることができます。なぜ私はメインスレッドの外からUI要素にアクセスする際にエラーがないのだろうかと不思議です。
されていないため、UI要素にアクセスすることができます。彼らはちょうどあなたが望む方法を更新しないかもしれません。 – ryantxr
バックグラウンドスレッドのUIで**作業しないでください**以外は何も見つかりませんでした。 –
申し訳ありませんが、私はあなたを取得していません。問題はまだ私のコンセプトを学び、構築していることです。ここでは、なぜ私がrunOnUiThread、Handlers、またはAysncTasksを持たずにメインスレッドからUIにアクセスできるのか混乱しています –