I am using a simple adapter for showing list, but switch changes its state while scrolling listview:
lv = (ListView) findViewById(R.id.listView);
String[] from = {"CompanyName", "AppointmenTime", "Status"};
// view id's to which data to be binded
int[] to = {R.id.clientname, R.id.time, R.id.togglebtn};
//Creating Adapter
android.widget.SimpleAdapter k = new android.widget.SimpleAdapter(ClientListActivity.this, clientData, R.layout.client_list, from, to) {
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
Switch switchcompact=(Switch) v.findViewById(R.id.togglebtn);
switchcompact.setTag(position);
switchcompact.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
{
////some code
}}