这是我第一次尝试使用列表视图,并创建了一个包含开关的列表视图。每当我离开活动时,开关的状态将重置为其默认值。列表视图包含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;
}
答案 0 :(得分:1)
没有最好的方法来实现它你的想法很棒,事实上你是最好的判断,知道什么最适合你的设计模型和应用程序设计等,
但是你可以随时通过总是谈论的共享偏好将数据保存到磁盘中,或者像你所说的那样在堆内存中保存。
希望有所帮助