带有复选框的Android ListView
我现在花了整整一天的时间试图加载自定义行。在StackOverflow和其他地方,关于如何将复选框绑定到Android listview中的一行数据,这里似乎有很多例子,但它们似乎都不完整 以下是我所拥有的(row.xml): 过去的这段时间,我真的不知道该怎么办。如果有人能给我举个好例子,那就太好了。目标是真正能够切换复选框 提前谢谢! 亚历克斯亚历克斯 下一步是实施 它看起来像这样:带有复选框的Android ListView,android,android-listview,Android,Android Listview,我现在花了整整一天的时间试图加载自定义行。在StackOverflow和其他地方,关于如何将复选框绑定到Android listview中的一行数据,这里似乎有很多例子,但它们似乎都不完整 以下是我所拥有的(row.xml): 过去的这段时间,我真的不知道该怎么办。如果有人能给我举个好例子,那就太好了。目标是真正能够切换复选框 提前谢谢! 亚历克斯亚历克斯 下一步是实施 它看起来像这样: getViewAdapter().setViewBinder( new ViewBinder(){
getViewAdapter().setViewBinder(
new ViewBinder(){
public boolean setViewAdapter(View view, Cursor cursor, int columnIndex){
<JavaType> object = cursor.get<JavaType>(columnIndex);
boolean isHandled = false;
if(view.getId() == R.id.checkBox){
CheckBox cb = (CheckBox) view;
cb.setChecked(isObjectChecked(object));
// object depends on your underlying data type
// in the data base, use the debugger to find the actually implemented type.
isHandled = true;
}
return isHandled;
}
}
);
getViewAdapter().setViewBinder(
新的ViewBinder(){
公共布尔值setViewAdapter(视图、光标、int-columnIndex){
object=cursor.get(columnIndex);
布尔值isHandled=false;
if(view.getId()==R.id.checkBox){
复选框cb=(复选框)视图;
cb.setChecked(isObjectChecked(对象));
//对象取决于基础数据类型
//在数据库中,使用调试器查找实际实现的类型。
isHandled=true;
}
返回被处理;
}
}
);
这是一种非常强大的方法,可以有条件地查看视图并从网络加载Uri,等等
下一步是实施
它看起来像这样:
getViewAdapter().setViewBinder(
new ViewBinder(){
public boolean setViewAdapter(View view, Cursor cursor, int columnIndex){
<JavaType> object = cursor.get<JavaType>(columnIndex);
boolean isHandled = false;
if(view.getId() == R.id.checkBox){
CheckBox cb = (CheckBox) view;
cb.setChecked(isObjectChecked(object));
// object depends on your underlying data type
// in the data base, use the debugger to find the actually implemented type.
isHandled = true;
}
return isHandled;
}
}
);
getViewAdapter().setViewBinder(
新的ViewBinder(){
公共布尔值setViewAdapter(视图、光标、int-columnIndex){
object=cursor.get(columnIndex);
布尔值isHandled=false;
if(view.getId()==R.id.checkBox){
复选框cb=(复选框)视图;
cb.setChecked(isObjectChecked(对象));
//对象取决于基础数据类型
//在数据库中,使用调试器查找实际实现的类型。
isHandled=true;
}
返回被处理;
}
}
);
这是一个非常强大的方法,可以有条件地查看视图并从网络加载Uri,等等。是的,就是这样!那就是我丢失的那一块!!当然,这也不是一个明显的步骤。我必须在某个地方为子孙后代记录这些。@LTMOD它在文档中。是的,就是这样!那就是我丢失的那一块!!当然,这也不是一个明显的步骤。我必须在某个地方为子孙后代记录这一点。@LTMOD它在文档中。
getViewAdapter().setViewBinder(
new ViewBinder(){
public boolean setViewAdapter(View view, Cursor cursor, int columnIndex){
<JavaType> object = cursor.get<JavaType>(columnIndex);
boolean isHandled = false;
if(view.getId() == R.id.checkBox){
CheckBox cb = (CheckBox) view;
cb.setChecked(isObjectChecked(object));
// object depends on your underlying data type
// in the data base, use the debugger to find the actually implemented type.
isHandled = true;
}
return isHandled;
}
}
);