HashMap を作成してアダプターを作成し、ListView に入力する非同期タスクがあります。doInBackground メソッド中に表示される進行状況ダイアログがあります。onPostExecute() メソッドでは、進行状況ダイアログを閉じて、リストビューに doInBackground メソッドに保存された項目のリストを設定するメソッドを呼び出します。
これはうまくいきます。しかし、私は奇妙なことに気づきました:
私が見る問題は、進行状況ダイアログが (onPostExecute で) 閉じられようとしているときに画面をロックすると、空でないアイテムが含まれていてもリストビューが表示されないことです。logcat メッセージとデバッグ時に確認しました。
画面ロック (電源ボタンを 1 回押す) が UI スレッドをブロックしている可能性はありますか? この問題を解決し、ListView に項目が表示されるようにするにはどうすればよいですか?
onResume() のコード:
@Override
protected void onResume(){
super.onResume();
if(MyAdapter !=null){
pull_listView.setAdapter(MyAdapter);//pull_listView is listview
MyAdapter.notifyDataSetChanged();//MyAdapter is the adapter
}
}