ダイアログ内に ListView があります...データ用の独自のアダプターがありますが、ダイアログにアダプターが作成/変更されるスピナーもあります。
Spinner の選択で変更されたアダプターが作成され、ListView のアダプターが新しいアダプターに設定されます...
それはすべて正常に動作しますが、アダプターが変更された後、私のダイアログはそのレイアウトを無効にしていません.常に一歩遅れています.
編集:スピナーの onItemSelected イベントでのみ次のことを行っています
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id)
{
if (adapterView.getId() == R.id.spMG)
{
long mg_id = ((MG)sp.getSelectedItem()).getID();
adapter.clear();
adapter.addAll(DBDataManager.getExercises(mg_id, true));
adapter.notifyDataSetChanged();
((View)lv).invalidate();
}
}
私は ArrayAdapter を使用しており、ArrayList をアダプターに追加しているだけです。