2013-04-08 109 views
0

這個問題讓我瘋狂。我創建了一個按鈕的方式來檢查我的ListView與CheckedTextView組成的所有項目:CheckedTextView:檢查ListView中的所有項目

selectAll = (CheckBox) findViewById(R.id.selectAll); 
selectAll.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    toggleAll(selectAll.isChecked()); 
     } 
    }); 

而在toggleAll功能,我嘗試重新加載所有項目的佈局選擇:

int size = maListViewPerso.getCount(); 
for (int i=0; i< taille; i++) { 
    View v = maListViewPerso.getAdapter().getView(i, null, null); 
    CheckedTextView tv = (CheckedTextView) v.findViewById(R.id.eventName); 
    tv.setChecked(check); 
} 

但沒有項目設置爲在視圖中檢查。最差:所有選中的項目切換爲取消選中。

我也嘗試了另一種方式,通過初始化默認選中所有項目的ListView的適配器...沒有結果。有關信息,我的ListView適配器以這種方式工作:

public class ListViewColor extends ArrayAdapter<String>{ 
    public ListViewColor(Context context, int textViewResourceId, List<String> objects, String type) { 

     [...] 

} 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
     String[] result = item.split("/");     
     CheckedTextView name = (CheckedTextView) view.findViewById(R.id.eventName); 
     name.setText("txt"); 
     name.setSelected(true); 
     return view; 
} 

任何想法?

回答

-1

首先,你的第一個adempt不是,你應該如何處理listview。始終通過ListAdapter更改其數據。

在您的第二個範圍內,請使用name.setChecked(true)而不是name.setSelected(true)

+0

謝謝你的答案,它的工作! – Derbie 2013-04-08 09:20:46