Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 不带值的SharedReference_Android_Xml_Sharedpreferences - Fatal编程技术网

Android 不带值的SharedReference

Android 不带值的SharedReference,android,xml,sharedpreferences,Android,Xml,Sharedpreferences,这就是我在SharedReferences中保存值的方式: private void GuardarConfiguracionEnXML() { SharedPreferences prefs =getSharedPreferences("MisPreferencias",Context.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean

这就是我在SharedReferences中保存值的方式:

private void GuardarConfiguracionEnXML() {
        SharedPreferences prefs =getSharedPreferences("MisPreferencias",Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = prefs.edit();

        editor.putBoolean("ConfirmarPromocion", VarGlobales.ConfirmarPromocion);
        editor.putBoolean("NoPermitirCero", VarGlobales.NoPermitirCero);
        editor.putBoolean("ProponerCantidad", VarGlobales.ProponerCantidad);
        editor.putBoolean("ArticuloCodNum", VarGlobales.ArticuloCodNum);
        editor.putBoolean("GuardarRutas", VarGlobales.GuardarRutas);
        editor.putBoolean("IncluyeFabricante", VarGlobales.IncluyeFabricante);
        editor.putBoolean("CompararComienzo", VarGlobales.CompararComienzo);
        editor.putString("CadenaBusquedaArticulos", VarGlobales.CadenaBusquedaArticulos);
        editor.putString("SerieConfiguracion", VarGlobales.SerieConfiguracion);
        editor.putBoolean("MostrarPoblacion", VarGlobales.MostrarPoblacion);
        editor.putBoolean("RecogidaEnvases", VarGlobales.Recogidaenvases);
        editor.putBoolean("ConvertirACajas", VarGlobales.ConvertirACajas);
        editor.putBoolean("RepartoFinSemana", VarGlobales.RepartoFinSemana);
        if(VarGlobales.ModoBusArticulos == BuscarPorArticulo.CODIGO)
            editor.putInt("BusquedaDefectoArticulos", 3);
        else if(VarGlobales.ModoBusArticulos == BuscarPorArticulo.DESCRIPCIONC)
            editor.putInt("BusquedaDefectoArticulos", 1);
        else
            editor.putInt("BusquedaDefectoArticulos", 2);
        editor.putInt("DiasDiurno", VarGlobales.DiasDiurno);
        editor.putInt("DiasNocturno", VarGlobales.DiasNocturno);
        //editor.putBoolean("VentaSoloUnidades", VarGlobales.VentaSoloUnidades);
        editor.commit();

        Map<String, ?> testshared = prefs.getAll();
    }
testshared2
为空。。。为什么?

编辑:是一个Eclipse错误,我重新启动了我的计算机,现在它可以工作了。。。谢谢大家。

试试这个

改变

SharedPreferences prefs =getSharedPreferences("MisPreferencias",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
对此

SharedPreferences prefs =getSharedPreferences("MisPreferencias",Context.MODE_PRIVATE);
Editor editor = prefs.edit();
您的“put/commit”代码在我看来是正确的

但是,getAll存在一些缺陷:


我建议您尝试检索单个值(例如使用getBoolean或getString)以确定这是否是问题所在。

我根据我的活动使用SharedReferences。如果您不在活动或片段类中,则可以使用“getApplicationContext()”,在片段类中可以使用“getActivity()”,在活动类中可以使用“this”

要输入数据:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
Editor prefsEditor = prefs.edit();
refsEditor.putString(Key1, Value1);
refsEditor.putString(Key2, Value2);
prefsEditor.commit();
要检索数据,请执行以下操作:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
String str = prefs.getString(Key1, "defValue");

在onPause中是否调用GuardConfiguracionenXML?GuardarConfiguracionEnXML是在OnClickListener中调用的。“prefs无法解析为类型”,它不起作用。对此表示抱歉。您所拥有的实际上与我的代码一起工作。你能提供更多的代码来帮助上下文吗?我在调试时使用了getAll,我只是用它来知道哪些值包含我的SharedReferences文件。是一个Eclipse错误,我重新启动了我的计算机,现在它可以工作了……我的观点是getAll看起来很可疑,我的建议是使用getBoolean或getString。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
String str = prefs.getString(Key1, "defValue");