当前位置: 首页 > 知识库问答 >
问题:

Android首选项错误,“字符串不能转换为int”

荆弘伟
2023-03-14
    SeekBar tipSeekBar = (SeekBar) findViewById(R.id.tipSeekBar);
    SeekBar splitSeekBar = (SeekBar) findViewById(R.id.splitSeekBar);

    SharedPreferences preferences = PreferenceManager
            .getDefaultSharedPreferences(this);

    tipSeekBar.setProgress(preferences.getInt("defaultTip", 15));
    splitSeekBar.setProgress(preferences.getInt("defaultSplit", 1));
    tipSeekBar.setMax(preferences.getInt("maxTip", 25));
    splitSeekBar.setMax(preferences.getInt("maxSplit", 10));

下面是我在Preference类中的内容(根据请求):

addPreferencesFromResource(R.layout.preferences);
// I was told in tutorials this is all I need in the oncreate method

我不明白为什么它在说一根绳子。我的所有值都是整数,我使用android:inputtype=“number”来确保只能输入int。我也试过卸载和重新安装应用程序,以清除缓存,但没有任何工作。

“即使您设置了android:inputtype=”number“,您在XML中的首选项仍然存储为字符串”(由Waza_Be)。我所要做的就是执行integer.parseInt()来获取正确的值。

共有1个答案

薛滨海
2023-03-14

XML中的首选项,即使您设置了android:inputtype=“number”仍然存储为字符串

您有两种选择:

1)“not-so-nice”:integer.parseint(preferences.getString(“defaulttip”,“15”));

 类似资料: