-1
我正在使用GSON將JSON存儲到SharedPreferences中,我有一個方法可以從ListView中刪除滑動的行,我怎樣才能從該滑動的行中刪除sharedPreferences?如何從選定的ListView中刪除SharedPreferences
ListViewNews.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
...
case MotionEvent.ACTION_UP:
if (event.getX() - historicX < -DELTA) {
...
alertDialogBuilder.setPositiveButton("Yes",new DialogInterface. OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
newsAdapter.FunctionDeleteRowWhenSlidingLeft(position);
**ATTEMPT OF DELETION**
//Delete from Database
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = sharedPrefs.edit();
Gson gson = new Gson();
String json = sharedPrefs.getString(TAG, null);
News news = gson.fromJson(json, News.class);
News selItem = (News) newsAdapter.getItem(position);
//read
News news2 = gson.fromJson(json, News.class);
System.out.println("---"+news2.getStory_id()+"---");
/*
This deletes everything
editor.remove("HackerNews");
*/
editor.commit();
editor.apply();
//read
sharedPrefs.getString("json", "");
System.out.println("SP"+sharedPrefs.getAll());
}
...
你的ListView是由哪些數據組成的?這些數據是否存儲在單個JSON中?是否有可能覆蓋SharedPreferences鍵值,還是隻需要修改它?我想我可以幫忙,但我需要知道這個問題的答案:) –
@ S.Czop我的列表視圖是由存儲在SharedPreferences中的GSON字符串組成的,它們是如何存儲的: 'news = new News (story_id,story_title,author,created_at,story_url); //從JSON添加 SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = sharedPrefs.edit(); Gson gson = new Gson(); 字符串json = gson.toJson(news); editor.putString(TAG,json); editor.commit(); //讀取 新聞news2 = gson.fromJson(json,News.class); //從SharedPreferences中添加 newsAdapter.add(news2);' – Schavcovsky