Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有复选框的Android ListView_Android_Android Listview - Fatal编程技术网

带有复选框的Android ListView

带有复选框的Android ListView,android,android-listview,Android,Android Listview,我现在花了整整一天的时间试图加载自定义行。在StackOverflow和其他地方,关于如何将复选框绑定到Android listview中的一行数据,这里似乎有很多例子,但它们似乎都不完整 以下是我所拥有的(row.xml): 过去的这段时间,我真的不知道该怎么办。如果有人能给我举个好例子,那就太好了。目标是真正能够切换复选框 提前谢谢! 亚历克斯亚历克斯 下一步是实施 它看起来像这样: getViewAdapter().setViewBinder( new ViewBinder(){

我现在花了整整一天的时间试图加载自定义行。在StackOverflow和其他地方,关于如何将复选框绑定到Android listview中的一行数据,这里似乎有很多例子,但它们似乎都不完整

以下是我所拥有的(row.xml):

过去的这段时间,我真的不知道该怎么办。如果有人能给我举个好例子,那就太好了。目标是真正能够切换复选框

提前谢谢! 亚历克斯

亚历克斯

下一步是实施

它看起来像这样:

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;
        }
    }
);