Android - Adapter getView中的SharedPreferences

时间:2013-07-16 16:01:17

标签: android sharedpreferences adapter

我想在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;
    }

3 个答案:

答案 0 :(得分:0)

此错误是因为您将Context投射到ObjectObject没有getPreferences方法。尝试使用上下文。

UPD:我稍有不妥,尝试使用Activity引用代替Context

答案 1 :(得分:0)

您正在将mContext Context转换为Object,该Object不包含getPreferences()方法。修复了转换问题后,导入Context引用并尝试使用getPreferences(Context.MODE_PRIVATE)。

答案 2 :(得分:0)

首先使用Context而不是((Object)mContext)。按上下文调用适配器 使用整数值1而不是MODE_PRIVATE