Ошибка в 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));
Другие вопросы по тегам