2013-04-08 79 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

相关问题