1
  1. に 5 個のアイテムがありますSpinner。API 呼び出しを開始する更新ボタンをクリックすると、更新で終了しSpinnerます。
  2. すぐにスピナーをタップして開きます。
  3. Spinnerが開いている間に API 呼び出しが終了し、呼び出しもnotifiyDataSetChanged()行われます (これは保証できます。ログで確認したので、データはそこにあります)。
  4. 残念ながら、Spinner はビューを更新しません。そのため、更新後に 5 ではなく 6 のアイテムが期待される場合でも、5 と表示されます。

スピナーを開かずにテストを繰り返し、更新が完了した後に開くと、6 つのアイテムが表示されます。したがって、問題はnotifyDataSetChanged()メソッドの周りにあります。

4

2 に答える 2

2

以下のコードを試してください。新しいものを追加して呼び出すだけnotifyDataSetChanged();です。

mSpinnerAdapter.add(object);
mSpinnerAdapter.notifyDataSetChanged();
于 2013-04-29T11:45:46.633 に答える
0

you can disable spinner until your refresh process ends. Or show process dialog while your API call ends. I think you cannot refresh your spinner while it is open.

于 2013-04-29T12:08:37.327 に答える