文字列(名前)とブール値(チェックされているかどうか)の配列を持つダイアログがあります
ダイアログ選択の外部でブール値を更新します.最初のクリックで更新されます.その後は同期されなくなります.
OnCreateDialog は一度だけ呼び出されます。(d.dissmis()) を呼び出してダイアログを閉じようとしましたが、同期できません。
誰かが助けることができるチャンスはありますか?
protected String[] _Geooptions;
protected boolean[] _Geoselections;
Dialog d;
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
d = new AlertDialog.Builder(this)
.setTitle("Set Geo Filters")
.setMultiChoiceItems(mapGeoManager._Geooptions,
mapGeoManager._Geoselections,
new GeoDialogSelectionClickHandler())
.setPositiveButton("OK", new GeoDialogButtonClickHandler())
.create();
return d;}
public class GeoDialogSelectionClickHandler implements
DialogInterface.OnMultiChoiceClickListener {
public void onClick(DialogInterface dialog, int clicked,
boolean selected) {
Log.i("ME", mapGeoManager._Geooptions[clicked] + " selected: "
+ selected);
mapGeoManager.FilterUpdate();
}
}
public class GeoDialogButtonClickHandler implements
DialogInterface.OnClickListener {
public void onClick(DialogInterface dialog, int clicked) {
switch (clicked) {
case DialogInterface.BUTTON_POSITIVE:
Log.d(TAG, "ON CLICK BUTTON POSITIVE!");
mapGeoManager.FilterUpdate();
break;
}
}
}