0
今私は解決できない問題に直面しています。特定のデータで2つの配列を塗りつぶすスレッドがあり、しかし、私のメインスレッドは、スレッドが終了するのを待つことはありませんし、私は理由を知らない!ここ は、あなたはそれがUIを凍結するメインスレッドで非同期ネットワーキングや時間のかかる操作を実行することはできません私のコードメインスレッドは別のスレッドが実行を終了するのを待たずに
private void loadingData(){
Thread myThread=new Thread(new Runnable() {
@Override
public void run() {
getNationalities();
getReligions();
}
});
myThread.start();
try {
myThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
loadingIcon.show();
while(myThread.isAlive()){}
//Here I'm using the two filled arrays
nationalitySpinner();
religionSpinner();
loadingIcon.hide();
}
あなたが実装する方法を私に例を与えることができますそれ? –
@AhmedKhairy、更新された私の答え –
それは私にヌルポインタの例外を持って、私はなぜ、それはおそらく配列がまだ満たされているのか分からないのですか?しかし、私はどのようにわかりませんが、私はあなたとより明確になります、私は私のUIは、データがいっぱいになるまで待つ、エンドユーザーのinfrontの代わりに、私を得るのですか? –