android应用中,经常需要保存用户的输入记录,以保证用户下次输入时可以在历史记录中直接选择可能要输入的值,这样就提高了用户的体验性!
保存用户输入的列表项:
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="#dcdcdc" android:dividerHeight="1px" android:headerDividersEnabled="false" /> <Button android:id="@+id/clear" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="清除历史记录" />
保存用户输入的代码(Activity):
SharedPreferences preferences = getActivity().getSharedPreferences("select", getActivity().MODE_WORLD_READABLE);;
SharedPreferences.Editor editor = preferences.edit();
String history = preferences.getString("select", "");
StringBuilder sb = new StringBuilder(history);
sb.append(city + ",");
if(!history.contains(city + ",")) {
editor.putString("select", sb.toString());
editor.commit();
}
getActivity().finish();
取出历史记录,并显示的Activity:
preferences = getActivity().getSharedPreferences("select", getActivity().MODE_WORLD_READABLE);
editor = preferences.edit();
String city = preferences.getString("select", "");
if(city.equals("") || city==null) {
clear.setVisibility(4);
}
String[] citys = city.split(",");
adapter = new ArrayAdapter<String>(getActivity(), R.layout.array_item, citys);
lv.setAdapter(adapter);
而清空历史记录的代码如下:
clear.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
editor.clear();
editor.commit();
lv.setAdapter(null);
v.setVisibility(4);
}
});