スピナーを閉じてダイアログメッセージを表示する前に5秒待つ必要がある特定のロジックがあります。すべてが機能しますが、ダイアログメッセージは表示されません。私が遅滞なく同じことをするならば、それは働きます。私のコードは次のとおりです。
public static void showMessageNotSentDialog(Activity inActivity)
{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(inActivity);
alertDialogBuilder.setTitle(R.string.error);
alertDialogBuilder.setMessage(R.string.error_sending_message);
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setPositiveButton(R.string.ok,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
public static void showDelayedErrorMessage(final Activity inActivity)
{
Runnable task = new Runnable() {
public void run() {
com.test.classes.Spinner.hideSpinner();
showMessageNotSentDialog(inActivity);
}
worker.schedule(task, com.test.classes.Spinner.TEXT_SPINNER_HIDEOUT_SEC, TimeUnit.SECONDS);
}
UIスレッドからダイアログを表示しようとしています:
public static void showDelayedErrorMessage(final Activity inActivity)
{
Runnable task = new Runnable() {
public void run() {
com.test.classes.Spinner.hideSpinner();
Runnable messageTask = new Runnable() {
public void run() {
showMessageNotSentDialog(inActivity);
}
};
inActivity.runOnUiThread(messageTask);
}
};
worker.schedule(task, com.test.classes.Spinner.TEXT_SPINNER_HIDEOUT_SEC, TimeUnit.SECONDS);
}