问题描述
嗨,其他Android开发人员。
我对AlertDialog.Build类的setMultiChoiceItems方法有一个奇怪的问题。当我将CharSequence数组和boolean数组(所有项目均设置为true)传递给该方法时,结果对话框将显示所有选定项目,但位置11(基于10的位置为零),基于22(基于21的位置为零)上的项目除外。 。,这意味着它以某种方式忽略了每10个项目后布尔数组所指示的检查状态!
这是示例代码:
CharSequence[] items = {
"Item01","Item02","Item03","Item04","Item05","Item06","Item07","Item08","Item09","Item10","Item11","Item12","Item13","Item14","Item15","Item16","Item17","Item18","Item19","Item20","Item21","Item22","Item23","Item24","Item25","Item26","Item27","Item28","Item29","Item30"};
boolean[] flags = {
true,true,true};
DialogInterface.OnMultiChoiceClickListener listener = new DialogInterface.OnMultiChoiceClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface,int i,boolean b)
{
}
};
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
// Set the dialog title
dialog.setTitle("Title")
.setMultiChoiceItems(
items,flags,listener)
// Set the action buttons
.setPositiveButton(
"Apply",new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog,int id)
{
}
})
.setNegativeButton(
"Cancel",int id)
{
dialog.dismiss();
}
});
dialog.show();
这是该应用的两个屏幕截图:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)