使用多选列表项对话框的方法是先创建AlertDialog.Builder对象,再设置setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, OnMultiChoiceClickListener listener)方法.
假设CharSequence[] items和boolean[] checkedItems已经定义好.
那么, 使用参数
setMultiChoiceItems(items, checkedItems, null);
和使用参数
setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked)
{
// TODO Auto-generated method stub
}
});
有什么区别呢?
尽管new出来的OnMultiChoiceClickListener对象什么也没有重写, 但是两种方法还是有区别的, 第一种方法, 多选列表项的勾选状态不会改变checkedItems的值, 第二种则会. 上面的onClick方法是抽象方法, 必须重写, 即使什么都不干.