如何在List视图中保持切换状态

时间:2016-02-06 00:26:14

标签: android listview

这是我第一次尝试使用列表视图,并创建了一个包含开关的列表视图。每当我离开活动时,开关的状态将重置为其默认值。列表视图包含4个开关,我遇到的许多答案都解决了开关在看不见时重置状态的问题。

我考虑过创建一个数组并存储每个开关的状态,然后在用户导航回活动时加载状态。有没有人有任何建议,如何最好地实现这一目标?

public View getView(final int position, View convertView, ViewGroup    parent) {
    View view;

    if (convertView == null) {
        view = mInflater.inflate(R.layout.options_list_item, parent,   false);
    } else {
        view = convertView;
    }

    symbols m1 = getItem(position);

    Switch optionsSwitch = (Switch) view.findViewById(R.id.switch2);

    optionsSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked && position == 0) {
                state = true;
            } else {
                state = false;
            }
        }
    });

    return view;
} 

1 个答案:

答案 0 :(得分:1)

没有最好的方法来实现它你的想法很棒,事实上你是最好的判断,知道什么最适合你的设计模型和应用程序设计等,

但是你可以随时通过总是谈论的共享偏好将数据保存到磁盘中,或者像你所说的那样在堆内存中保存。

希望有所帮助