Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.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 从ListActivity内的ListView获取子视图_Android_Listview_Listactivity - Fatal编程技术网

Android 从ListActivity内的ListView获取子视图

Android 从ListActivity内的ListView获取子视图,android,listview,listactivity,Android,Listview,Listactivity,我有一个ListActivity,它的ListView在启动时使用数据库中的数据填充。每行都是一个自定义视图。填充ListView后,我想选择一个特定行并对其进行编辑(例如更改背景) 如果我在填充getListView().getChildCount()后尝试它,我总是得到0。我是否误解了getChildCount的工作原理,或者我是否使用了错误的方法?我不确定您想做什么,但是如果您想选择一行(单击一行)并更改背景色,这可能会起作用: getListView().setOnItemClickLi

我有一个ListActivity,它的ListView在启动时使用数据库中的数据填充。每行都是一个自定义视图。填充ListView后,我想选择一个特定行并对其进行编辑(例如更改背景)


如果我在填充getListView().getChildCount()后尝试它,我总是得到0。我是否误解了getChildCount的工作原理,或者我是否使用了错误的方法?

我不确定您想做什么,但是如果您想选择一行(单击一行)并更改背景色,这可能会起作用:

getListView().setOnItemClickListener(new OnItemClickListener(){

                    @Override
                    public void onItemClick(AdapterView<?> arg0, View arg1,
                            int arg2, long arg3) {
                        arg1.setBackgroundColor(Color.parseColor("#444444"));

                    }});
getListView().setOnItemClickListener(新的OnItemClickListener()){
@凌驾
公共链接(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
arg1.setBackgroundColor(Color.parseColor(#444444”);
}});

如果您试图以编程方式对填充执行此操作,则应该重写列表适配器并在其中执行此操作

我不确定您想做什么,但是如果您想选择一行(单击一行)并更改背景色,这可能会起作用:

getListView().setOnItemClickListener(new OnItemClickListener(){

                    @Override
                    public void onItemClick(AdapterView<?> arg0, View arg1,
                            int arg2, long arg3) {
                        arg1.setBackgroundColor(Color.parseColor("#444444"));

                    }});
getListView().setOnItemClickListener(新的OnItemClickListener()){
@凌驾
公共链接(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
arg1.setBackgroundColor(Color.parseColor(#444444”);
}});

如果您试图以编程方式对填充执行此操作,则应该重写列表适配器并在其中执行此操作

检查
getCount()
返回的内容以及它是否为0。您何时调用getChildCount?检查
getCount()
返回的内容以及它是否为0。您何时调用getChildCount?对不起,我没有说清楚。我正试图以编程的方式来做这件事。我正在使用SimpleAdapter填充列表。我该如何去推翻它呢?忽略这一点,我想我已经回答了我自己的评论。我发现了这个,它似乎就是我想要的对不起,我没说清楚。我正试图以编程的方式来做这件事。我正在使用SimpleAdapter填充列表。我该如何去推翻它呢?忽略这一点,我想我已经回答了我自己的评论。我发现了这个,它似乎就是我想要的