gpt4 book ai didi

java - setMultiChoiceItems 和我的数组

转载 作者:行者123 更新时间:2023-12-01 09:22:54 24 4
gpt4 key购买 nike

在我的代码中,我可以选择复选框项目并将其设置在我的数组中:

protected ArrayList<Integer> selectedStatusId = new ArrayList<>();

但是当我选择相同的复选框项目时,需要从我的数组中删除它......我不会这样做,因为我的数组中的 id 与我的 mStatuses 不同。如何删除我想要的项目?

也许我可以在点击肯定按钮后获取所有选定的项目吗?

        final ArrayList<String> statusesTitles = new ArrayList<>();
for (int i = 0; i < mStatuses.size(); i++) {
statusesTitles.add(mStatuses.get(i).StatusTitle);
}
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.order_dialog_status_title)
.setMultiChoiceItems(statusesTitles.toArray(new String[statusesTitles.size()]), null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
if (b){
selectedStatusId.add(mStatuses.get(i).StatusId);
} else {
// TODO How I can delete my position from array?
}
}
})
.setPositiveButton(R.string.order_dialog_status_positive_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
refreshContent();
}
})
.setNegativeButton(R.string.order_dialog_status_negative_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
builder.show();

最佳答案

您可以通过以下方法删除项目。

    ArrayList<Integer> selectedStatusId = new ArrayList<>();
if (true){
selectedStatusId.add(mStatuses.get(i).StatusId);
} else {
// delete the first occurrence of the specified element from array
selectedStatusId.remove(new Integer(mStatuses.get(i).StatusId));
}

关于java - setMultiChoiceItems 和我的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40041241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com