ToggleButton в ListView, значение изменяется автоматически при прокрутке

у меня есть ListViewс некоторыми элементами. У меня есть toggleButton в каждой строке ListView. Предположим, что ни один из toggleButtons не выбран. Прокрутка работает нормально. Но когда я проверяю toggleButton, а затем прокручиваю свой listView, когда выбранная строка toggleButton перемещается вверх, последний toggleButton (который не отмечен) проверяется автоматически. И эта схема продолжается. Я думаю, что это как-то связано с повторным использованием строк listItems. Я добавил класс адаптера ниже, где загружается элемент списка

public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View rowview = convertView;
    if (null == rowview) {

        rowview = inflator.inflate(R.layout.groupsettinglistitem, null);            
        SettingsGroupListItem viewholder=new SettingsGroupListItem();
        viewholder.gpname=(TextView) rowview.findViewById(R.id.textView1);
        viewholder.status=(ToggleButton) rowview.findViewById(R.id.ToggleButton1);
        viewholder.status.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
            Toast.makeText(v.getContext(), "click", Toast.LENGTH_SHORT);    
            }
        });

        rowview.setTag(viewholder);

    }
    SettingsGroupListItem holder=(SettingsGroupListItem) rowview.getTag();
    holder.gpname.setText(items[position].getGpname().getText().toString());
    rowview.setTag(holder);
    return rowview;
}
7
задан Joseph 25 March 2012 в 18:15
поделиться