这个问题快把我逼疯了。我已经创建了一个按钮来检查我的 ListView 中使用 CheckedTextView 组成的所有项目:
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;
}
有任何想法吗 ?