Удвоенные строки в пользовательском listPreference - PullRequest
0 голосов
/ 25 марта 2011

столкнулся с проблемой использования кода из здесь . Когда телефон имеет альбомную ориентацию, не все элементы списка видны (предположим, я вижу только 3 из 5). Когда я прокручиваю вниз до 4-го и 5-го элементов, я снова вижу два первых элемента (то есть 1,2,3,1,1). После некоторых свитков я получаю более интересную смесь (например, 2,3,1,2,1) и так далее.

Код, как было в ссылке, все, что я изменил, не устранило проблему. Что не так?

Заранее спасибо

2Rajath Спасибо за простой пример, но я не могу применить его к своему делу. Пожалуйста, посмотрите

@Override
    public View getView(final int position, View convertView, ViewGroup parent){
        View row;
        if(convertView == null){            
            row = mInflater.inflate(R.layout.custom_list_preference_row, parent, false);
        } else {
            row = convertView;
        }
        CustomHolder holder = new CustomHolder(row, position);
        row.setTag(holder);
        return row;
    }

При создании объекта CustomHolder он вызывает исключение NullPointer в методе setId ()

class CustomHolder
    {
        private RadioButton rButton = null;

        CustomHolder(View row, int position){    
            rButton = (RadioButton)row.findViewById(R.id.custom_list_view_row_radio_button);
            rButton.setId(position);

            rButtonList.add(rButton);
    }
}

Не могли бы вы объяснить, как заставить этот код работать?

1 Ответ

0 голосов
/ 25 марта 2011

[отредактировано на основе обновления]

Возможно, установленный идентификатор конфликтует с каким-либо другим идентификатором.Посмотрите, полезно ли это - Android: View.setID (int id) программно - как избежать конфликтов ID? .

...