2012-09-03 121 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()應該從切換按鈕處理程序完成,以使列表刷新其內容。

相關問題