小编Jor*_*ñez的帖子

切换适配器以获取ListView

我有一个带有适配器的ListView,其布局有一个Switch,因此列表中的每个项目都有一个开关.

我想使用这段代码:

mySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        // do something, the isChecked will be
        // true if the switch is in the on position
    }
});
Run Code Online (Sandbox Code Playgroud)

但我不知道在哪里使用它:在Adapter类或List Containing类中,我怎么能知道当我切换那个开关时我修改了什么项,所以我可以修改它的属性.

编辑:这是实现方法的Adapter类.它在每次调用方法getView()时运行,而不是在它应该运行时(当交换机切换时),并且Logs出现在logcat中但是切换的对象没有被修改,当我向下滚动并向上滚动时,开关回到原来的状态:

package com.nahue.actions;

import java.util.ArrayList;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;


/*@SuppressLint("ViewHolder") */public class AdapterActions extends ArrayAdapter<Action>{

    // our ViewHolder.
    // caches our TextView
    static …
Run Code Online (Sandbox Code Playgroud)

android listview android-adapter android-switch

4
推荐指数
1
解决办法
9719
查看次数