我试图解决这个问题时遇到了一些麻烦.我所拥有的是一个多选机警报对话框,我想要做的是当按下正按钮时,我想要在已检查的索引上执行任务.我该怎么做呢?
这就是我要做的……
dialog.setMultiChoiceItems(List, null, null);dialog.setPositivebutton("Okay", null);
摘要:如何从AlertDialog获取所有已检查的索引?
解决方法:
我采用的方法是声明一个最终的Boolean []来存储项目的状态,然后当我调用setMultiChoiceItems方法时,我提供了一个DialogInterface.OnMultiChoiceClickListener,它在更改时设置该数组中每个项目的状态.然后,当单击正面按钮时,我可以从DialogInterface.OnClickListener引用此数组.
例如(从我的一些代码中复制并稍微混淆):
final int aIndex = 0; final int bIndex = 1; final int cIndex = 2; final int dindex = 3; final CharSequence[] items = { context.getString(R.string.string_share_include_a), context.getString(R.string.string_share_include_b), context.getString(R.string.string_share_include_c), context.getString(R.string.string_share_include_d) }; final Boolean[] state = new Boolean[4]; state[aIndex] = true; state[bIndex] = true; state[cIndex] = true; state[dindex] = false; AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(R.string.string_share_dialog_Title); builder.setMultiChoiceItems(items, new boolean[] { true, true, true, false }, new DialogInterface.OnMultiChoiceClickListener() { @OverrIDe public voID onClick(DialogInterface dialog, int which, boolean isChecked) { state[which] = isChecked; } }); builder.setPositivebutton(R.string.string_share_ok, new OnClickListener() { public voID onClick(DialogInterface dialog, int which) { UtilitIEs.shareStuff( state[aIndex], state[bIndex], state[cIndex], state[dindex]); } });
总结 以上是内存溢出为你收集整理的android – 如何在AlertDialog multiChoiceItems中获取所有选定的索引全部内容,希望文章能够帮你解决android – 如何在AlertDialog multiChoiceItems中获取所有选定的索引所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)