2016-09-02 9 views
0

Как установить текст из настройки фрагмента предпочтения в textView? Размер шрифта выбран из спискаView. Я предоставил код под изображением.Ошибка в SetTextSize с помощью параметра settingPreference

Смотрите мое изображение ниже: enter image description here

Я знаю, что я делаю что-то неправильно. Пожалуйста, покажите мне правильный способ сделать это.

Это мой шрифт значение размера:

enter image description here

Это мой listpreference:

<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"/> 

, а также если вы, ребята, есть какой-либо веб-сайт/учебник/блог ссылки для меня ссылаться, Это было бы хорошо.

+0

вместо строкового массива, пожалуйста ** целочисленного массива **, потому что setTextSize принимают целочисленный тип ввода , –

+0

ok Я изменил его на целочисленный массив. но ошибка все еще отображается. PLS помочь мне его было 1 1/2 дня им пытаются решить эту @RahulSharma – HesZrave

+0

Эй, я добавил свой ответ, пожалуйста, пройдите через него. –

ответ

1

значение, которое является принимать TextView float. Еще одна вещь заключается в том, что для получения значения из SharedPreference используйте KEY.

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

В getSharedPreferences отображается ошибка. он говорит, что getString (string, string) не может быть применено к (string), что означает, что ему нужна строка 2, а не только ключ («FontSizeKey», «»). – HesZrave

+0

Но значение поплавка действительно РАБОТАЕТ Спасибо – HesZrave

+1

Эй, @HesZrave Приятно видеть, это сработало. Извините, что поздно мой дедушка прошёл прошлой ночью. :( – W4R10CK

0

конвертировать строку, чтобы плавать с помощью этого метода

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

Из подсказки достаточно ясно, что вы ожидаете значения поплавка. И вы передаете ему строковое значение. Поэтому либо сохраните его как float, используя putDouble в ваших общих привилегиях, и используйте getDouble и сохраните его в переменной float. Как ниже

SharedPrefs.putDouble("FontSizeKey", 24.0); 

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

Else, просто разобрать строку для значения с плавающей точкой, как показано ниже

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