使用settingPreference在SetTextSize上出错

时间:2016-09-02 08:14:57

标签: android sharedpreferences listpreference

如何设置文本大小从设置首选项片段到textView?从listView中选择字体大小我将在图像下方提供代码。

请参阅下面的图片:enter image description here

我知道我做错了什么。请告诉我一个正确的方法。

这是我的字体大小值:

enter image description here

这是我的列表首选项:

<ListPreference
        android:title="Font Size"
        android:summary="Select desirable font size"
        android:key="FontSizeKey"
        android:entries="@array/select_font_size"
        android:entryValues="@array/select_font_size_value"
        android:defaultValue="24"/>

如果你们有任何网站/教程/博客链接供我参考,那就太好了。

3 个答案:

答案 0 :(得分:1)

TextView接受的值为float。还有一件事是要从SharedPreference获取值,请使用KEY。

String setFontSize  = getSharedPreferences.getString("FontSizeKey");
setDuaText = setTextSize(Float.valueOf(setFontSize));

答案 1 :(得分:0)

使用此方法将字符串转换为float

secDuaText.setTextSize(Float.parseFloat(setFontSize));

答案 2 :(得分:0)

从提示中可以清楚地看出,该方法期望浮点值。而你传递的是一个字符串值。因此,要么在共享首选项中使用putDouble将其保存为浮点数,请使用getDouble并将其保存在float变量中。如下所示

SharedPrefs.putDouble("FontSizeKey", 24.0);

double setFontSize = SharedPrefs.getDouble("FontSizeKey");

否则,只需解析字符串以获取如下所示的浮点值

secDuaText.setTextSize(Float.parseFloat(setFontSize));