何らかの理由で、runOnUiThread 呼び出しにあるコードが実行されないようです。
((Activity) ctx).runOnUiThread(new Runnable() {
public void run() {
Log.d(TAG,"createAndDisplayDialog - Start dialog");
progressDialog = new MyDialog(ctx);
progressDialog.show();
Log.d(TAG,"createAndDisplayDialog - Started dialog");
}
});
ダイアログは単に表示されません。
ただし、状況をさらに混乱させるために、特定のケースでは機能しますが、他のケースでは機能しません。
私たちが持っているのは、データを含むリストです。このリストには、[Get more data] ボタンが含まれています。次に、onclick リスナーはコードを呼び出してさらにデータをフェッチし、それをアダプタが使用するリストに追加します。データの最初のロットを埋めると、それは前のアクティビティ内でフェッチされ、アダプタを介してリストに表示するために表示アクティビティに送信されます。その場合、ダイアログは表示されます。ただし、元のデータ セットを取得するときに使用したのと同じコードを実行する追加のデータを要求すると、ダイアログは表示されなくなります。
どちらの場合も、データのフェッチは AsyncTask で行われます。データは問題なく届きますが、ダイアログが表示されません。
さらに混乱させるために、データが事前にフェッチされない他の画面があります。代わりに、アダプターがすべての作業 (元のデータと要求されたその他のデータのフェッチ) を行います。この場合、ダイアログは問題なく表示されます。
私はおそらく単純なものを見逃していますが、それを見つけることができないようです.