无法识别更新导航抽屉内容值获取 Activity
Update Navigation Drawer content Value get Activity is not recognized
我有一个使用 recyclerview 和一些静态文本的导航抽屉。我希望更新来自 SharedPreferences 的静态文本末尾的级别值,它包含一个整数值。我正在为我的导航抽屉使用 recyclerview。
NavigationAdapter.java
@Override
public void onBindViewHolder(NavDrawerAdapter.ViewHolder viewHolder,
final int i) {
Drawable drawable = null;
if (mData.get(i).getDrawable() != 0) {
drawable = mContext.getResources().getDrawable(
mData.get(i).getDrawable());
}
if (mData.get(i).getType() == NavItem.ITEM) {
setText(viewHolder.textViewItem,viewHolder.textViewlevel, i, drawable);
setBackgroundColor(i, viewHolder);
}
}
private void setText(TextView textView,TextView textViewlevel, final int i, Drawable drawable) {
SharedPreferences sharedPref= getActivity().getSharedPreferences("levels", 0);
String level_time= sharedPref.getString("level_time", "");
textView.setText(mData.get(i).getText());
textViewlevel.setText(level_time);
textView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null,
null);
}
SharedPreferences 不工作并在 "getActivity().getSharedPreferences(" 级别给我错误,0);"
有没有其他方法可以让我访问 SharedPreferences?
使用
SharedPreferences shared = getActivity().getSharedPreferences(PREF_NAME, MODE_PRIVATE);
String channel = shared.getString(keyname, "");
此处您使用了 0 而不是 MODE_PRIVATE
getActivity() 在您的回收视图适配器中无法识别。您可以将适配器定义为片段的内部 class。否则,将上下文传递给适配器的构造函数并使用它:
public class Adapter extends .... {
private Context mPassedContext;
public Adapter(Context con, ....) {
mPasssedContext = con;
}
}
使用这个上下文:
SharedPreferences sharedPref= mPassedContext.getSharedPreferences("levels", 0);
我有一个使用 recyclerview 和一些静态文本的导航抽屉。我希望更新来自 SharedPreferences 的静态文本末尾的级别值,它包含一个整数值。我正在为我的导航抽屉使用 recyclerview。
NavigationAdapter.java
@Override
public void onBindViewHolder(NavDrawerAdapter.ViewHolder viewHolder,
final int i) {
Drawable drawable = null;
if (mData.get(i).getDrawable() != 0) {
drawable = mContext.getResources().getDrawable(
mData.get(i).getDrawable());
}
if (mData.get(i).getType() == NavItem.ITEM) {
setText(viewHolder.textViewItem,viewHolder.textViewlevel, i, drawable);
setBackgroundColor(i, viewHolder);
}
}
private void setText(TextView textView,TextView textViewlevel, final int i, Drawable drawable) {
SharedPreferences sharedPref= getActivity().getSharedPreferences("levels", 0);
String level_time= sharedPref.getString("level_time", "");
textView.setText(mData.get(i).getText());
textViewlevel.setText(level_time);
textView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null,
null);
}
SharedPreferences 不工作并在 "getActivity().getSharedPreferences(" 级别给我错误,0);" 有没有其他方法可以让我访问 SharedPreferences?
使用
SharedPreferences shared = getActivity().getSharedPreferences(PREF_NAME, MODE_PRIVATE);
String channel = shared.getString(keyname, "");
此处您使用了 0 而不是 MODE_PRIVATE
getActivity() 在您的回收视图适配器中无法识别。您可以将适配器定义为片段的内部 class。否则,将上下文传递给适配器的构造函数并使用它:
public class Adapter extends .... {
private Context mPassedContext;
public Adapter(Context con, ....) {
mPasssedContext = con;
}
}
使用这个上下文:
SharedPreferences sharedPref= mPassedContext.getSharedPreferences("levels", 0);