【问题标题】:Hide and show checkbox issue in android在android中隐藏和显示复选框问题
【发布时间】:2016-11-05 18:48:18
【问题描述】:

我在ListView 中有一个Checkbox 来选择项目,我在ListView 之外还有一个Button。最初应该隐藏Checkbox,当我单击Button 时,Checkbox 应该显示在ListView 中,反之亦然。

我有一个问题,当我按下Button 时,最初它会显示一个Checkbox,然后我再次按下Button 它会显示一些复选框,但我想要的是最初当我按下它时它应该是不可见的Button 它应该在 ListView 中可见

注意:我在课堂上有一个Button,在适配器中有一个Checkbox

sdel.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

            ((datalist) mlistView.getAdapter()). toggleChecks();
            ((datalist)mlistView.getAdapter()).notifyDataSetChanged();
    }

});    
public void toggleChecks() { 

   for (int i = 0;i<sms.size();i++) {
        holder.cb.setVisibility(CheckBox.VISIBLE);
   } 

   isCheckBoxVisible=!isCheckBoxVisible;
   notifyDataSetChanged();
}

【问题讨论】:

  • 你的问题不清楚。能简单解释一下吗?
  • 我在该适配器中有一个片段类和适配器类我设置了一个复选框来选择/取消选择,并且我在类中有一个按钮(在列表视图之外)。最初复选框应该处于隐藏状态以及何时我点击它显示的按钮...simple @ 0X0nosugar

标签: android android-fragments checkbox


【解决方案1】:

为此目的创建模型 在那个为布尔变量定义getter setter

private  boolean isVisible;

public boolean isVisible() {
    return isVisible;
}

public void setVisible(boolean visible) {
    isVisible = visible;
}

在活动中默认将此标志设置为false

YourModel model=new YouModel();
 for (int i = 0; i <sms ; i++) {

        model.setVisible(false);
    }

在适配器写入条件中复选框 //假设sms是arraylist

YourModel model=sms.get(position)
if(model.isVisible){
checkbox.setVisibility(View.VISIBLE);
}else{
checkbox.setVisibility(View.INVISIBLE);
}

现在点击按钮写下面的代码 //如果复选框可见

  for (int i = 0; i <sms.size() ; i++) {
            sms.get(i).setVisible(false);
        }
adapter.notifyDataSetChanged();

//if checkbox is invisible
  for (int i = 0; i <sms.size() ; i++) {
            sms.get(i).setVisible(true);
        }
adapter.notifyDataSetChanged();

【讨论】:

  • 我正在使用 holder 来获取值,并且我在列表视图之外有按钮
猜你喜欢
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多