如何在RecyclerView.Adapter中使用共享首选项..?我在RecyclerView.Adapter中使用了共享偏好值。但是没有任何东西可以保存在共享首选项中......我必须在RecyclerView.Adapter或者活动中使用共享偏好..?
EntityManager
Viewgroup.java
ComponentManager
答案 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()。