1

AsyncTaskのonPostExecute()でダイアログを閉じ、textviewでテキストを設定しようとしていますが、textviewが変更されず、「ウィンドウはすでにフォーカスされており、フォーカスゲインを無視しています...」が表示されます。

コードは次のとおりです。

    protected void onPreExecute() {
    dialog = ProgressDialog.show(mContext, "","Loading...", true);

}

protected void onPostExecute(Object result) {
    dialog.dismiss();
    tv.setText("some text");

}

進行状況ダイアログが表示され、バックグラウンド作業が完了すると、それは閉じられますが、テキストビューに変更はありません。進行状況ダイアログがない場合、テキストビューが更新されます。

この問題のアイデア、解決策はありますか?

ありがとう!

4

2 に答える 2

2

を呼び出した後、このコード スニペットを試してくださいdialog.dismiss()

         if (!dialog.isShowing()) 
            {
                TextView tv = (TextView) findViewById(R.id.textView);
                tv.setText("some text");
            }
于 2012-08-31T16:58:16.257 に答える