如何在RecyclerView.Adapter中使用共享首选项?

时间:2016-07-07 09:16:19

标签: android android-recyclerview sharedpreferences recycler-adapter

如何在RecyclerView.Adapter中使用共享首选项..?我在RecyclerView.Adapter中使用了共享偏好值。但是没有任何东西可以保存在共享首选项中......我必须在RecyclerView.Adapter或者活动中使用共享偏好..?

EntityManager

Viewgroup.java

ComponentManager

4 个答案:

答案 0 :(得分:2)

您应该添加editor.commit()editor.apply(),以便将数据保存到Sharedpreferences。在代码下方添加此内容

//Adding values to editor
editor.putBoolean(LOGGEDIN_SHARED_PREF, true);
editor.putString(GROUPSNAME_SHARED_PREF, gd);
editor.apply();

答案 1 :(得分:1)

  

为什么共享偏好不会更新..?

在启动Activity之前使用Button的onClick方法在Sharedpreferences中保存值,如:

...
gd = holder.groupname.getText().toString();
holder.add.setTag(gd);
...
     @Override
     public void onClick(View view) {
         String strValue=view.getTag().toString();
         ... save  strValue in Sharedpreferences
         ...
         editor.putString(GROUPSNAME_SHARED_PREF, strValue);
         editor.apply();
         // start new Activity..
      }
...

答案 2 :(得分:0)

这就是我所做的。 (如果您不能在SharedPreferences中访问类“ context”) 1.通过“ 上下文mConext ”创建适配器类的上下文;或“ p 私有WeakReference mContext; ” 2.在需要在SharedPrefernce内部使用上下文的任何地方,请使用“ this.mContext.get()”代替“ mContext ”。喜欢 SharedPreferences首选项= this.mContext.get()。getSharedPreferences(MY_PREFERENCE_NAME,Context.MODE_PRIVATE);

我尝试了许多其他解决方案,但找不到东西。

答案 3 :(得分:0)

它的工作原理是仅添加this.mcontext.getContext而不是this.mContext.get()。