Получить дочернее представление из ListView в ListActivity

У меня есть ListActivity с ListView, заполненным onStart данными из базы данных. Каждая строка представляет собой настраиваемый вид. После заполнения ListView я хочу выбрать определенную строку и отредактировать ее (например, изменить фон).

Если я попробую getListView().getChildCount() после его заполнения, я всегда получаю 0. Я неправильно понимаю, как работает getChildCount, или я неправильно его использовал?


person AverageMarcus    schedule 31.01.2011    source источник
comment
Проверьте, что возвращает getCount(), и если это 0.   -  person Aliostad    schedule 01.02.2011
comment
Когда вы звоните getChildCount?   -  person adamp    schedule 01.02.2011


Ответы (1)


Я не совсем уверен, что вы пытаетесь сделать, но если вы хотите выбрать строку (щелкнуть строку) и изменить цвет фона, это может сработать:

getListView().setOnItemClickListener(new OnItemClickListener(){

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

                    }});

Если вы пытаетесь программно работать с населением, вам следует переопределить адаптер списка и сделать это там.

person runor49    schedule 31.01.2011
comment
Извините, я не ясно выразился. Я пытаюсь сделать это программно. Я использую SimpleAdapter для заполнения списка. Как мне его переопределить? - person AverageMarcus; 01.02.2011
comment
Проигнорируйте это, я думаю, что ответил на свой собственный комментарий. Я нашел это ykyuen.wordpress.com/2010/03/15/ и, похоже, это то, что мне нужно. :) - person AverageMarcus; 01.02.2011