android – ListView中的ToggleButton,值在滚动时自动更改

前端之家收集整理的这篇文章主要介绍了android – ListView中的ToggleButton,值在滚动时自动更改前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有一些项目的ListView.我在ListView的每一行都有toggleButton.假设没有选择任何toggleButtons.滚动效果很好.但当我检查toogleButton,然后滚动我的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;
}

解决方法

这两个方法添加在BaseAdapter类中.
@Override
            public int getViewTypeCount() {                 
                          //Count=Size of ArrayList.
                return Count;
            }

            @Override
            public int getItemViewType(int position) {

                return position;
            }
原文链接:https://www.f2er.com/android/317017.html

猜你在找的Android相关文章