Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:限制选项的数量多选列表视图_Android - Fatal编程技术网

Android:限制选项的数量多选列表视图

Android:限制选项的数量多选列表视图,android,Android,在我的应用程序中,我有一个多选列表视图(简单列表项目多选),我想将用户限制为3个选项。之后,如果他从列表中选择了另一个选项,则不进行标记 我想用一个计数器(直到三个),但我不知道如何限制第四个选项,所以它不会被标记 这是我的代码草图: listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, Vi

在我的应用程序中,我有一个多选列表视图(简单列表项目多选),我想将用户限制为3个选项。之后,如果他从列表中选择了另一个选项,则不进行标记

我想用一个计数器(直到三个),但我不知道如何限制第四个选项,所以它不会被标记

这是我的代码草图:

listview.setOnItemClickListener(new OnItemClickListener() {
    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { } 
    });

listview.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0,视图arg1,int arg2,long arg3){}
});
如何防止用户选择第四个选项


谢谢

每次尝试检查新位置时,都必须循环检查列表中的所有元素,并检查它们是否已被选中。如果选中的图元数等于最大选中图元数,则不检查按下的位置。我想没有别的办法了。查看MultipleChiceView文档。我认为这个解决方案在这里是最合适的

这里有一些示例,但它是用JavaScript编写的:

您还可以禁用其他复选框:

这里还有一些代码:


请下次在提问之前做一些研究。

listview.setOnItemClickListener(新的OnItemClickListener(){@Override public void onItemClick(AdapterView arg0,视图arg1,int arg2,long arg3){});我找了两个小时的答案,但没有找到答案。谢谢你的链接,但我还是不明白我是如何把它和我的名单联系起来的。我不能阻止用户单击列表中的某一行,如果他单击-我也不能阻止检查该行。在onClick中,您可以在循环中使用它并计算检查了多少行,listView。isItemChecked(I)//I是视图的位置。然后,如果检测到检查了太多,只需取消选中listView.getItem(arg2).setChecked(false);我的列表有“getItemAtPosition”选项,而我没有“setChecked”选项。