Android 安卓单击按钮时在自定义列表视图中隐藏和显示复选框

Android 安卓单击按钮时在自定义列表视图中隐藏和显示复选框,android,listview,button,checkbox,android-arrayadapter,Android,Listview,Button,Checkbox,Android Arrayadapter,我使用下面给出的适配器。我用数字解释。数字仅供参考。 我在单行中使用textview和checkbox。文本视图应显示,复选框最初隐藏。按下按钮后,复选框应显示,文本视图保持不变。请帮助我。提前感谢 将SectionModel的另一个属性添加为inEditMode,并在用户单击“编辑”时在数组中的所有项目上将其设置为true,然后在适配器上调用notifyDataSetChanged 在适配器中,检查每个项目上的该标志,并使其可见或不可见。将另一个属性作为inEditMode添加到SECTI

我使用下面给出的适配器。我用数字解释。数字仅供参考。 我在单行中使用textview和checkbox。文本视图应显示,复选框最初隐藏。按下按钮后,复选框应显示,文本视图保持不变。请帮助我。提前感谢


将SectionModel的另一个属性添加为inEditMode,并在用户单击“编辑”时在数组中的所有项目上将其设置为true,然后在适配器上调用notifyDataSetChanged


在适配器中,检查每个项目上的该标志,并使其可见或不可见。

将另一个属性作为inEditMode添加到SECTIONMODE,并在用户单击“编辑”时将数组中所有项目的该属性设置为true,然后在适配器上调用NOTIFYDATASETCHENGED


在适配器中,检查每个项目上的标志,使其可见或不可见。

以防万一,可能还有人需要它

我用下一种方法解决了这个问题:

在ArrayAdapter I集合中的getView-方法中:

CheckBox checkBox = (CheckBox)listItem.findViewById(R.id.checkBox);
    checkBox.setVisibility(View.GONE);
然后在setOnItemLongClickListener中:

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long l) {

            for(int i = 0; i != arrayList.size(); i++) {

        mCheckBox = (CheckBox) playlist.getChildAt(i).findViewById(R.id.checkBox);
        mCheckBox.setVisibility(View.VISIBLE);
    }

            return true;
        }
    });

在您长时间单击任何项目后,所有复选框都会出现。

以防有人仍然需要它

我用下一种方法解决了这个问题:

在ArrayAdapter I集合中的getView-方法中:

CheckBox checkBox = (CheckBox)listItem.findViewById(R.id.checkBox);
    checkBox.setVisibility(View.GONE);
然后在setOnItemLongClickListener中:

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long l) {

            for(int i = 0; i != arrayList.size(); i++) {

        mCheckBox = (CheckBox) playlist.getChildAt(i).findViewById(R.id.checkBox);
        mCheckBox.setVisibility(View.VISIBLE);
    }

            return true;
        }
    });

在您长时间单击任何项目后,所有复选框都会出现。

您对该功能做了哪些操作?最初,我在适配器中设置了复选框可见性,之后,我在适配器中设置了方法,使该复选框可见。单击按钮,我在适配器中调用该方法,然后notifydatasetchanged,但它不起作用。@MayurRaval如何使每个不同的复选框可见?如我所见,更新后的代码只能使一个复选框可见?@Stallman,在布尔值设置为true后,您是否在适配器上应用了notifydatasetchanged?更新的代码对我有用。您为该功能做了什么?最初我在适配器中设置了复选框visibility gone,之后我在适配器中设置了方法使该复选框可见。单击按钮,我在适配器中调用该方法,然后notifydatasetchanged,但它不起作用。@MayurRaval如何使每个不同的复选框可见?如我所见,更新后的代码只能使一个复选框可见?@Stallman,在布尔值设置为true后,您是否在适配器上应用了notifydatasetchanged?更新的代码对我有用。谢谢我终于得到了…谢谢你给了我主意。我没有更改节模型…但是我使用外部类静态变量,并将Visibly设置为true和falsevariable@yahya如何使每个不同的复选框都可见?\n谢谢,我终于看到了。谢谢你给了我主意。我没有更改该部分模型..但我使用外部类静态变量,并将Visibly设置为true和falsevariable@yahya如何使每个不同的复选框可见\