2

最初にデフォルトの画像を表示するGridViewアクティビティを実行してから、ネットワークタスクの新しいスレッドを開始してデータベースから画像をダウンロードします。スレッドが終了した後、GridViewはグリッド内の画像を自動的に更新します。

この質問から私は次のコードを取りました:

ImageAdapter adapt = (ImageAdapter)gridView.getAdapter();
adapt.setBitmap(bitmaps);
adapt.notifyDataSetChanged();

グリッドのアダプターを更新します。私は onResume() メソッド内でこの 3 行を実行していますが、スレッドが終了した後、何らかの方法で onResume() メソッドを呼び出す必要があります (アクティビティを一時停止するか、同様のものを使用して)。

別のアクティビティ (グリッド イメージの 1 つなど) に移動してから [戻る] ボタンを押すと、データベースからダウンロードしたばかりのグリッド ビュー イメージが表示されます。( onPause() メソッドを呼び出してから onResume() を呼び出すため)

誰かがこの問題の解決策を持っていますか?

ありがとう

編集:スレッドはAsyncTaskを介して実行されています

4

1 に答える 1

0

スレッドが終了した後、何らかの方法で onResume() メソッドを呼び出す必要があります (アクティビティを一時停止するか、同様のものを使用します)。

強制的に呼び出すのではなく、onResume()これらの 3 行を新しいメソッドに移動して、それを呼び出しますrefreshAdapter()。次に、アダプタをリフレッシュするために使用するrefreshAdapter()内部および任意の場所を呼び出します。onResume()

于 2013-01-17T16:53:04.473 に答える