【问题标题】:Android: How to set a default ListView with sharedpreferences?Android:如何使用 sharedpreferences 设置默认 ListView?
【发布时间】:2012-12-23 13:32:16
【问题描述】:
我想做的是:
当我的应用程序第一次加载时,我希望它与我的默认 ListView 一起加载,其中有一个名为“New Item”的项目,稍后如果对我的 ListView 进行更改,我想要一个按钮命名为“默认设置”,将 ListView 返回为“1 个名为“新项目”的项目,
据我所知,我需要为此使用共享首选项,但我不知道从哪里开始。
感谢您的帮助。
【问题讨论】:
标签:
android
listview
android-activity
sharedpreferences
default
【解决方案1】:
您的问题非常含糊不清。您可能会使用 SharedPreferences,但它只是一种存储机制。
我不建议在列表中使用重置按钮,但如果你愿意,我会同意。
首先,您需要创建一个 ArrayAdapter 并在数据更改时从 SharedPreferences 加载它。有很多教程。
在您的 ListView 上使用 addHeaderView() 和 addFooterView() 来添加“+ New Item”行,否则它们将与您的适配器一起使用。基本上只是在添加新项目或删除列表时通知 ArrayAdapter。
如果您需要更多详细信息,请在 Google 上找到大量深入的教程:)
【解决方案2】:
您明确要求的问题不需要SharedPreferences,它需要的是您的ListView 的自定义Adapter 中的一个方法。
public class CustomAdapter extends BaseAdapter {
private ArrayList<String> content;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView tv = (TextView) convertView.findViewById(R.id.textView1);
tv.setText(content.get(position));
return convertView;
}
private void revert() {
ArrayList<String> content = new ArrayList<String>();
content.add("New Item");
this.content = content;
notifyDataSetChanged();
}
然后在您按钮的onClick 方法中,您只需调用此revert 方法。