【发布时间】:2017-06-20 10:16:41
【问题描述】:
Integer[] selsected;
selected = new Integer[] {1,2};
这会生成一个固定大小为 2 的整数数组。
但我需要一个动态大小的Integer[] 数组。有时有 3 件或更多……
因为我使用的是MaterialDialog multichoice list dialog,它使用Integer[] 来显示已经选择的项目。
如果我使用上面选定的数组,它会始终显示1,2,如果用户选择了2 和3,我想在用户再次选择对话框时显示这些位置。有什么办法吗?
代码:
Integer[] selsected;
selected = new Integer[] {1,2};
new MaterialDialog.Builder(this).title(R.string.socialNetworks)
.items(socialNetworks)
.itemsCallbackMultiChoice(selected, (dialog, which, text) -> {
StringBuilder str = new StringBuilder();
for (int i = 0; i < which.length; i++) {
if (i > 0) str.append('\n');
str.append(which[i]);
str.append(": ");
str.append(text[i]);
}
showToast(str.toString());
return true; // allow selection
})
.onNeutral((dialog, which) -> dialog.clearSelectedIndices())
.onPositive((dialog, which) -> dialog.dismiss())
.alwaysCallMultiChoiceCallback()
.positiveText(R.string.md_choose_label)
.autoDismiss(false)
.neutralText(R.string.clear_selection)
.show();
【问题讨论】:
标签: java android arrays android-studio integer