【发布时间】:2013-04-08 08:35:13
【问题描述】:
这个问题快把我逼疯了。我创建了一个按钮来检查我的 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;
}
有什么想法吗?
【问题讨论】:
标签: android listview checkedtextview