私はAsyncTaskの間にユーザー入力が必要ですが、doInBackgroundはUIを表示できません。 シナリオ: ボタンをクリックするとサービスコールの結果に基づいてサービスコールが行われ、確認ダイアログが表示されます。ユーザーが「はい」をクリックすると別のサービスコールが発生し、コール。 ProgressDialogの表示に問題があります。AsyncTaskでユーザー入力を取得する方法
プログラムの作業の流れ:
btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { bool result = Method1(); if(result){ ShowConfirmation(new YesCallBackHelper() {Method2();}, new NoCallBackHelper() {Method3();}); } else{ Method3(); } } }); private bool Method1() { return ServiceCall1(); } private bool Method2() { return ServiceCall2(); } private bool Method3() { return ServiceCall3(); }
バックグラウンドスレッドからの@ vickeyの回答.for UIの更新に同意する場合は、ロジックをrunOnUiThreadに入れる必要があります。 – Radhey