相关疑难解决方法(0)

适用于API的Android AlertDialog setOnDismissListener低于17

我创建了一个AlertDialog:

private CharSequence[] _items = { "item1", "item2", "item3", "item4",
"item5", "item6", "item7" };

AlertDialog.Builder daysBuilder = new AlertDialog.Builder(this);
    daysBuilder.setTitle("SomeCaption");

    daysBuilder.setMultiChoiceItems(_items,new Boolean[] { false, true, false, 
false false false, true }, SetListener);
    daysBuilder.setPositiveButton("OK", OKListener);
    daysBuilder.setNegativeButton("Cancel", CancelListener);

    AlertDialog alert = daysBuilder.create();
    alert.show();`
Run Code Online (Sandbox Code Playgroud)

通过语句" new Boolean[] { false, true, false false false false, true }"默认情况下,对话框中的项目将被选中/取消选中.

当我打开对话框时,更改项目的选择但随后解除(通过按取消或设备的后退按钮)对话框将被取消.到现在为止还挺好.

但是当我重新打开对话框时,项目具有从对话框的最后一次打开开始的先前更改的已检查/未检查状态.

但是当对话框在第一次打开时被解除时,我想要检查/取消选中项目状态,就像我创建对话框(new Boolean[] { false, true, false false false false, true })时一样.

所以基本上我需要有机会在对话框被解雇时得到通知,这样我就可以重置项目的状态.

我用对话框对象的setOnDismissListener尝试了它.不幸的是,它仅在API 17中提供.

setOnDismissListener在模拟器(API 17)中对我(完全是我需要的)工作非常完美,但在我的设备上却没有(Android 4.1 => API 16)

API 16中有类似的东西吗?

java android dialog

29
推荐指数
1
解决办法
5726
查看次数

标签 统计

android ×1

dialog ×1

java ×1