2012-09-03 36 views
0

我有一个自定义列表视图与每个项目中的复选框和TextView。最初我将复选框的可见性设置为GONE。Android:如何更新自定义列表视图中的视图的可见性项目

在我点击一个按钮的活动中,所有项目中的复选框出现,再次点击所有复选框消失(就像一个切换按钮)。

我已经成功地与一个小问题来实现:

enter image description here

这里,在第一PIC,当我点击切换按钮,复选框没有出现。他们只在我滚动时出现(第二张图)。点击按钮后,当前视图中的项目不会更新其可见性,因为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是将其值设置真/假按钮上点击一个布尔值。按钮单击并在活动中设置值为buttonFlag

+0

您能否提供切换按钮处理的代码?切换时是否调用notifyDataSetChanged()? – sandrstar

+0

太棒了!它的工作现在。我认为notifyDataSetChanged()只适用于添加/删除项目。 –

回答

0

似乎调用notifyDataSetChanged()应该从切换按钮处理程序完成,以使列表刷新其内容。

相关问题