protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
preferences = getSharedPreferences(FAVORI, 0);
ListView favlist = (ListView) findViewById(R.id.favoriliste);
ArrayList<String> foo = new ArrayList<String>();
String [] bar = foo.toArray(new String[0]);
public void favekle(String string) {
foo.add(string);
bar = foo.toArray(new String[0]);
favadapter = new MyFavAdapter(Diziler.this,
android.R.layout.simple_list_item_1, R.id.txtTitle, bar);
// favlist= new ArrayList<>();
favlist.setAdapter(favadapter);
favadapter.notifyDataSetChanged();
}
favadapter = new MyFavAdapter(Diziler.this,
android.R.layout.simple_list_item_1, R.id.txtTitle, bar);
// favlist= new ArrayList<>();
favlist.setAdapter(favadapter);
favadapter.notifyDataSetChanged();
Hello.I需要帮助。我希望使用SharedPreferences在Listview中保存动态添加的项目。 我添加了具有public void favekle功能的listview项目。我将项目添加到ArrayList&lt;&gt;比我转换ArrayList&lt;&gt;最后我将项目设置为适配器。 如果我重新启动应用程序,我的listview项目将消失。 如何使用sharedpreferences保存添加的项目?我使用了StringBuilder但它没有工作。谢谢。
答案 0 :(得分:0)
您可以通过这种方式保存为共享偏好
SharedPreferences sp = context.getSharedPreferences(
"file name", 0);
SharedPreferences.Editor spEdit = sp.edit();
spEdit.putLong(key, value);
spEdit.commit();
答案 1 :(得分:0)
您应该使用SharedPreferences存储单个键值配对数据。尝试存储大型分组数据根本不高效。您应该使用SQLite数据库。
答案 2 :(得分:0)
您可以在共享首选项中存储字符串集,然后在检索它们时将它们转换回List。
ArrayList<String> list = new ArrayList<String>();
list.add("test1");
list.add("test2");
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.putStringSet("stringset", new HashSet<String>(list))
.commit();