我的首选项默认值存在问题。 我正在尝试从xml文件设置默认值,然后检索它。 这是我的代码:
public class MainActivity extends Activity {
int prefValue;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PreferenceManager.setDefaultValues(this, R.xml.preferences, true);
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
prefValue = settings.getInt("settingValue", 3);
Log.v("TAGSETT", "p1 "+prefValue);
Editor editor = settings.edit();
editor.putInt("settingValue", 25);
editor.commit();
prefValue = settings.getInt("settingValue", 3);
Log.v("TAGSETT", "p2 "+prefValue);
}
这是preferences.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<Preference android:key="settingValue" android:persistent="true" android:defaultValue="10"/>
</PreferenceScreen>
这是输出:
p1 3
p2 25
但实际上我希望如此:
p1 10
p2 25
怎么了? 提前谢谢。
答案 0 :(得分:0)
然后将默认的int值更改为 10 ,即。变化
prefValue = settings.getInt("settingValue", 3);
到
prefValue = settings.getInt("settingValue", 10);