切换按钮状态重置为以前当我滚动列表视图

问题描述 投票:1回答:2

我使用在ListView的ToggleButtons,我设置为从Web服务数据切换按钮的状态,现在我改变了切换按钮的状态,但它是复位以前,当我滚动列表视图。

我曾经在我的适配器类以下。

tbtnStatus=(ToggleButton)view.findViewById(R.id.togglebtn);
tbtnStatus.setTag(new Integer(position));  

tbtnStatus.setOnCheckedChangeListener(null);


tbtnStatus.setOnCheckedChangeListener(new OnCheckedChangeListener() {

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        // TODO Auto-generated method stub
        String update_status;
        String current_status=buttonView.getText().toString();
         if(current_status.equals("ON"))
         {
             update_status="NO";
         }

         else
         {
             update_status="YES";
         }

        String res=UrltoValue.getValuefromUrl(DataUrls.updateindividualstaus+"?pilotid="+DataUrls.pilotid+"&friendid="+friendid[position]+"&status="+update_status);
     }
});
android android-listview togglebutton
2个回答
2
投票

您的切换按钮的状态将被清零,这是每个当你sroll它在屏幕的时间Web服务数据的默认值,因为所有的意见目前不可见的行被删除,并会使用默认值来重新创建。你需要你切换按钮来保存状态。例如,你可以,如果你使用ArrayAdapter<Object>与该行相关联的对象保存。


0
投票

保存您查看的位置当u检查各自观点的切换按钮...在getView()编写代码

    if(yourposition==position)
    tbtnStatus.setChecked(true);

假设你点击了第三的位置toggle..save 3为yourposition当U将滚动getView被调用,将satify状态检查您切换为yes

© www.soinside.com 2019 - 2024. All rights reserved.