我正在尝试使用此方法设置多个共享首选项。 这将成功创建一个共享的pref:
static final String SUPPLIER_NUMBER = "";
SharedPreferences myPrefs = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
savednumber = myPrefs.getString(SUPPLIER_NUMBER, "");
SharedPreferences myPrefs1 = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs1.edit();
prefsEditor.putString(SUPPLIER_NUMBER, telephonenumber);
prefsEditor.commit();
这第二个例子只是导致第二个pref覆盖了第一个....我在这里错过了什么?
static final String SUPPLIER_NUMBER = "";
static final String SUPPLIER_COST = "";
SharedPreferences myPrefs = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
savednumber = myPrefs.getString(SUPPLIER_NUMBER, "");
savedcost = myPrefs.getString(SUPPLIER_COST, "");
SharedPreferences myPrefs1 = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs1.edit();
prefsEditor.putString(SUPPLIER_NUMBER, telephonenumber);
prefsEditor.putString(SUPPLIER_COST, suppliercost);
prefsEditor.commit();
我真的不想创建一个xml文件来获取prefs ..我希望它动态创建,因为我相信我来到这里,在第一个例子..但我需要能够添加更多一个偏好。
答案 0 :(得分:0)
你的SUPPLIER_NUMBER和SUPPLIER_COST常量是相等的(两者都是“”)。将它们设置为不同的值,这应该可以解决问题:)
static final String SUPPLIER_NUMBER = "number";
static final String SUPPLIER_COST = "cost";