Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.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_Android Checkbox - Fatal编程技术网

Android ListView+;复选框=?

Android ListView+;复选框=?,android,android-listview,android-checkbox,Android,Android Listview,Android Checkbox,可能重复: 我需要: 带有 items { CheckBox, then TextView } ; 当您按下复选框时,项目应更改其颜色 我怎样才能得到它 附言 换句话说,我需要一个带有复选框的列表视图,如Gmail应用程序中的复选框,创建自定义适配器,并在复选框上设置监听器,以更改所需内容。(我不会发布任何代码,直到我看到你自己做了什么)。 如果你不知道Android文档是如何开始的。对于这个问题,您应该特别检查LayoutInflater、BaseAdapter、ListActivity和

可能重复:

我需要:

带有

items { CheckBox, then TextView } ;
当您按下复选框时,项目应更改其颜色

我怎样才能得到它

附言


换句话说,我需要一个带有复选框的列表视图,如Gmail应用程序中的复选框,创建自定义适配器,并在复选框上设置监听器,以更改所需内容。(我不会发布任何代码,直到我看到你自己做了什么)。
如果你不知道Android文档是如何开始的。对于这个问题,您应该特别检查LayoutInflater、BaseAdapter、ListActivity和creating xml resources(确切地说是布局)。

创建自定义适配器并在复选框上设置侦听器,这些复选框将更改您想要的内容。(我不会发布任何代码,直到我看到你自己做了什么)。
如果你不知道Android文档是如何开始的。对于这个问题,您应该特别检查LayoutFlater、BaseAdapter、ListActivity和创建xml资源(确切地说是布局)。

答案非常简单!有一个名为
CheckedTextView
的组件,它是
TextView
复选框的组合。
这个组件可能会简化您的逻辑,让您可以自由地修改列表的
监听器
中的任何内容

我为你写了一个例子:

    public class CheckBoxListView extends ListActivity implements OnItemClickListener{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //Mock data
        String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
                "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
                "Linux", "OS/2" };

        //android's simple_list_item_multiple_choice is a CheckedTextView
        //try creating your own later ;)
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_multiple_choice, values);

        getListView().setOnItemClickListener(this);

        setListAdapter(adapter);

    }

    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

        CheckedTextView item = (CheckedTextView) arg1;

        //The change color logic is here!
        if(item.isChecked()) {
            item.setTextColor(Color.BLACK);
            item.setChecked(false);
        }
        else {
            item.setTextColor(Color.RED);
            item.setChecked(true);
        }

    }

}
public类CheckBoxListView扩展了ListActivity实现了McClickListener{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//模拟数据
字符串[]值=新字符串[]{“Android”、“iPhone”、“WindowsMobile”,
“黑莓”、“WebOS”、“Ubuntu”、“Windows7”、“Max OS X”,
“Linux”、“OS/2”};
//android的简单列表项多选是CheckedTextView
//稍后尝试创建自己的;)
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple\u list\u item\u多选,值);
getListView().setOnItemClickListener(此);
setListAdapter(适配器);
}
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
CheckedTextView项=(CheckedTextView)arg1;
//改变颜色的逻辑在这里!
如果(item.isChecked()){
item.setTextColor(颜色为黑色);
项。设置已检查(假);
}
否则{
项目。setTextColor(颜色为红色);
item.setChecked(真);
}
}
}

答案很简单!有一个名为
CheckedTextView
的组件,它是
TextView
复选框的组合。
这个组件可能会简化您的逻辑,让您可以自由地修改列表的
监听器
中的任何内容

我为你写了一个例子:

    public class CheckBoxListView extends ListActivity implements OnItemClickListener{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //Mock data
        String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
                "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
                "Linux", "OS/2" };

        //android's simple_list_item_multiple_choice is a CheckedTextView
        //try creating your own later ;)
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_multiple_choice, values);

        getListView().setOnItemClickListener(this);

        setListAdapter(adapter);

    }

    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

        CheckedTextView item = (CheckedTextView) arg1;

        //The change color logic is here!
        if(item.isChecked()) {
            item.setTextColor(Color.BLACK);
            item.setChecked(false);
        }
        else {
            item.setTextColor(Color.RED);
            item.setChecked(true);
        }

    }

}
public类CheckBoxListView扩展了ListActivity实现了McClickListener{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//模拟数据
字符串[]值=新字符串[]{“Android”、“iPhone”、“WindowsMobile”,
“黑莓”、“WebOS”、“Ubuntu”、“Windows7”、“Max OS X”,
“Linux”、“OS/2”};
//android的简单列表项多选是CheckedTextView
//稍后尝试创建自己的;)
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple\u list\u item\u多选,值);
getListView().setOnItemClickListener(此);
setListAdapter(适配器);
}
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
CheckedTextView项=(CheckedTextView)arg1;
//改变颜色的逻辑在这里!
如果(item.isChecked()){
item.setTextColor(颜色为黑色);
项。设置已检查(假);
}
否则{
项目。setTextColor(颜色为红色);
item.setChecked(真);
}
}
}

当你说“列表项应更改颜色”时,这是指背景、文本、复选框吗?你可以检查以下链接并得到答案。toadzky,我的意思是ListView的项目完全更改了颜色,或者当你说“列表项应更改颜色”时,这是指背景、文本、,复选框?您可以检查以下链接并获得答案。toadzky,我的意思是ListView的项目完全改变了它的颜色,或者说我不明白的主要问题是CheckBox的click listener如何影响ListView的项目。下面是一个例子:我不明白的主要问题是CheckBox的click listener如何影响ListView的项目。下面是一个例子:非常感谢!你的帖子是唯一给我指明正确方向的帖子!非常感谢你!你的帖子是唯一给我指明正确方向的帖子!