Ошибка в SetTextSize при использовании settingPreference
Как я могу установить текстовый формат от установки предпочтительного фрагмента в textView? Размер шрифта выбирается из списка. Я предоставлю код под изображением.
Пожалуйста, смотрите мое изображение ниже:
Я знаю, что делаю что-то не так. Пожалуйста, покажи мне правильный способ сделать это.
Это мое значение размера шрифта:
Это мой список предпочтений:
<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 ответа
Значение, которое принимает TextView: float
, Еще одна вещь - чтобы получить значение из SharedPreference, используйте KEY.
String setFontSize = getSharedPreferences.getString("FontSizeKey");
setDuaText = setTextSize(Float.valueOf(setFontSize));
Из подсказки ясно, что метод ожидает значение с плавающей запятой. И вы передаете ему строковое значение. Так что либо сохраните его как float, используя putDouble в ваших общих настройках, и используйте getDouble и сохраните его в переменной float. Как ниже
SharedPrefs.putDouble("FontSizeKey", 24.0);
double setFontSize = SharedPrefs.getDouble("FontSizeKey");
Иначе, просто проанализируйте строку для значения с плавающей запятой, как показано ниже
secDuaText.setTextSize(Float.parseFloat(setFontSize));
Конвертировать строку в плавающее с использованием этого метода
secDuaText.setTextSize(Float.parseFloat(setFontSize));