我想在Adapter的getView中访问SharedPref。我在MODE_PRIVATE上出错了``MODE_PRIVATE无法解析为变量'
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
我通过执行mContext.MODE_PRIVATE
来解决这个问题,但是我得到了getPreferences = getPreferences(int)未定义的错误。我该如何解决这个问题?
编辑
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = mInflator.inflate(R.layout.griditemlayout, parent, false);
}
TextView gridtv;
gridtv = (TextView) convertView.findViewById(R.list.gridtext);
SharedPreferences sP = ((Object) mContext).getPreferences(mContext.MODE_PRIVATE);
Boolean b = sP.getBoolean(s[position], false);
...
return convertView;
}
答案 0 :(得分:0)
此错误是因为您将Context
投射到Object
而Object
没有getPreferences
方法。尝试使用上下文。
UPD:我稍有不妥,尝试使用Activity
引用代替Context
答案 1 :(得分:0)
您正在将mContext Context转换为Object,该Object不包含getPreferences()方法。修复了转换问题后,导入Context引用并尝试使用getPreferences(Context.MODE_PRIVATE)。
答案 2 :(得分:0)
首先使用Context而不是((Object)mContext)。按上下文调用适配器
使用整数值1而不是MODE_PRIVATE