我使用的 multispinner 代码几乎可以在每个询问 multispinner 的主题中找到。
@Override
public boolean performClick() {
if (MainActivity.getSharedInstance().mp != null)
if (MainActivity.getSharedInstance().mp.isPlaying())
{
MainActivity.getSharedInstance().mp.stop();
//MainActivity.getSharedInstance().mp.release();
}
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setMultiChoiceItems(
items.toArray(new CharSequence[items.size()]), selected, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (which == 0)
{
if (isChecked == true)
{
selected[0] = true;
selected[1] = false;
selected[2] = false;
selected[3] = false;
selected[4] = false;
selected[5] = false;
selected[6] = false;
selected[7] = false;
}
else
selected[0] = false;
}
else
{
if (isChecked == true)
{
selected[which] = true;
selected[0] = false;
}
else
selected[which] = false;
}
}
});
builder.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.setOnCancelListener(this);
builder.show();
return true;
}
如果选中第一个复选框,我希望 multispinner 取消选中所有其他复选框,并在选中其他任何复选框时取消选中第一个复选框。
我上面的代码的结果是,当我在 multispinner 对话框中时,它不起作用,但是如果我选中第一个复选框并关闭然后重新打开 multispinner,那么其他复选框会更新并且我想要的未选中。
如何在不需要关闭然后重新打开 multispinner 对话框的情况下执行此操作?
谢谢你的帮助。