Android:如何更新自定义列表视图项中的视图的可见性

时间:2012-09-03 10:59:20

标签: android listview checkbox

我有一个自定义列表视图,每个项目中都有一个复选框和TextView。最初,我将复选框的可见性设置为GONE。

在我点击按钮的活动中,所有项目中的复选框都会显示,再次单击所有复选框时,复选框就会消失(就像切换按钮一样)。

我成功实施了一个小问题:

enter image description here

这里,在第1张照片中,当我点击切换按钮时,没有出现复选框。它们只在我滚动时出现(第2张图片)。单击按钮后,当前视图中的项目不会更新其可见性,因为只有在我们滚动时才会调用getView。

我只是想在按钮点击时删除当前视图中的复选框。

这是我的代码:

public View getView(final int index, View convertView, ViewGroup parent) {
   final ViewHolder holder;
   ...
   ...
   if(myActivity.buttonFlag)
      holder.myCheckBox.setVisibility(View.VISIBLE);
   else
      holder.myCheckBox.setVisibility(View.GONE);
   return convertView;
   }
static class ViewHolder
{
    CheckBox myCheckBox;
}

buttonFlag是一个布尔值,它在按钮单击时设置其值true / false。单击按钮并在活动中设置buttonFlag值。

1 个答案:

答案 0 :(得分:0)

似乎应该从切换按钮处理程序调用{​​{1}},以使列表刷新其内容。