-1

OK、ブロードキャストレシーバーが呼び出され、onReceive()メソッドで静的データを使用してギャラリーを新しいアダプターで更新します。これらはすべてUIスレッドで実行されます。

ただし、何も変わりません。古いデータはギャラリーに残りますが、コードをデバッグして時間をかけると、invalidateが呼び出された後に更新されます。ああ、ところで、ビューはViewFlipperにありますが、新しいアダプターを作成する前に適切なビューに変更します。競合状態がありますが、これは正常ですか?そうでない場合は、どうすればよいですか?

以下は、で私が話していることのサンプルですonRecieve()

onRecieve() {
    mFlipper.setDisplayedChild(0);
    mNavAdapter.addCategory(-1);
    mGalNav.setSelection(0);
    getCategoryProducts(-1);
}

void getCategoryProducts(int category) {
   mGalProducts.setAdapter(new DealCheckInAdapter(this,
   getCheckInProducts()));
   mGalProducts.invalidate();
}
4

1 に答える 1

1

メソッドは、invalidate()私が推測していることを行うことは想定されていません。あなたは使用すると仮定します:

mDealCheckInAdapter.notifyDataSetChanged(); 

これは、listView アダプターを「リフレッシュ」するメソッドです。

于 2012-04-10T21:05:55.593 に答える