Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
JerryLetehen
8 / 8 / 0
Регистрация: 07.11.2015
Сообщений: 193
#1

Код цвета в textView вместо текста - Программирование Android

05.01.2017, 13:24. Просмотров 231. Ответов 7
Метки нет (Все метки)

Доброго времени суток))) При запуске приложения вместо String значения у меня в textView стоит код цвета. (см скриншоты). Использую для сохранения значений SharedPreferences. Всё, что происходит, с возможно создающим проблему действия, изложены ниже:
Java
1
2
rivate String Name_Time = String.valueOf(R.string.text_time);
    private String Name_Volume = String.valueOf(R.string.text_volume);
Java
1
2
final String SAVED_TIME_Text = "Saved_Time";
    final String SAVED_VOLUME_Text = "Saved_Volume";
Java
1
2
3
4
5
6
7
8
9
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        //finals
        final TextView set_time = (TextView)findViewById(R.id.text_time);
        final TextView set_volume = (TextView)findViewById(R.id.text_volume);
        Load_it();//метод, который загружает все сохранённые значения
}
Java
1
2
Name_Time = set_time.getText().toString(); //тут сохраняю изменённые текста
                            Name_Volume = set_volume.getText().toString();
Java
1
2
3
4
set_time.setText(R.string.text_time); // метод, при нажатии на отменяющую действия кнопку
                        set_volume.setText(R.string.text_volume);
                        Name_Time = set_time.getText().toString();
                        Name_Volume = set_volume.getText().toString();
Java
1
2
3
4
5
6
7
protected void onResume() {
        super.onResume();
        if (sharedPreferences.getBoolean("firstrun", true)) {
            Save_it();
            sharedPreferences.edit().putBoolean("firstrun", false).apply();
        }
    }
Java
1
2
3
4
5
6
7
private void Save_it() {
        sharedPreferences = getPreferences(MODE_PRIVATE); // метод сохранения значений
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(SAVED_TIME_Text, Name_Time);
        editor.putString(SAVED_VOLUME_Text, Name_Volume);
        editor.apply();
    }
Java
1
2
3
4
5
6
7
8
9
private void Load_it() {
        sharedPreferences = getPreferences(MODE_PRIVATE);
        String Saved_Time = sharedPreferences.getString(SAVED_TIME_Text, Name_Time);
        TextView set_time = (TextView)findViewById(R.id.text_time);
        set_time.setText(String.valueOf(Saved_Time));
        String Saved_Volume = sharedPreferences.getString(SAVED_VOLUME_Text, Name_Volume);
        TextView set_volume = (TextView)findViewById(R.id.text_volume);
        set_volume.setText(String.valueOf(Saved_Volume));
    }
Java
1
2
3
4
protected void onDestroy(){
        super.onDestroy();
        Save_it();
    }
Когда запускаю приложения и, когда я меняю значения текст view на дефолтные и выхожу из приложения, то при следующем запуске я вижу этосм скриншоты).Помогите разобраться с проблемой
0
Миниатюры
Код цвета в textView вместо текста   Код цвета в textView вместо текста  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2017, 13:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Код цвета в textView вместо текста (Программирование Android):

Обновление текста в TextView - Программирование Android
Подскажите как лучше сделать. У меня постоянно изменяется значение переменной и ее нужно выводить. Пока что сделал так: ...

TextView авторазмер текста - Программирование Android
android studio Textview имеет размеры 100% на 50%, заполняя половину экрана. В нем написано число, которое изменяется по нажатию на...

TextView выравнивание текста - Программирование Android
В текст в TextView по умолчанию идет выравнивание текста по левому краю. Как выровнять текст по всей ширине, как если бы в Word вы нажали...

Выделение текста в TextView - Программирование Android
При выделении текста в TextView android:textIsSelectable="true" на моем устройстве(HTC ONE X Android 4.2.2) появляется всплывающее меню,...

Выравнивание текста в TextView по ширине - Программирование Android
Доброго времени суток! Подскажите пожалуйста, как можно выровнять текст по ширине (распределить текст равномерно между левым и правым...

Динамическое изменение текста в TextView - Программирование Android
Есть TextView в RelativeLayout, которое вмещает в себя надпись "Привет мир", а вот надпись "Привет весь мир" уже не влезает. Есть ли...

7
Pablito
2580 / 2061 / 643
Регистрация: 12.05.2014
Сообщений: 7,233
Завершенные тесты: 1
05.01.2017, 13:28 #2
много букв, в чем суть проблемы?
0
JerryLetehen
8 / 8 / 0
Регистрация: 07.11.2015
Сообщений: 193
05.01.2017, 13:29  [ТС] #3
Паблито, вот
0
Миниатюры
Код цвета в textView вместо текста  
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 326
05.01.2017, 16:02 #4
Тоже не понял суть вопроса, но в любом случае что-то сохранять onDestroy нельзя, так как вызов этой функции не гарантирован.
0
JerryLetehen
8 / 8 / 0
Регистрация: 07.11.2015
Сообщений: 193
05.01.2017, 16:19  [ТС] #5
Цитата Сообщение от fraley Посмотреть сообщение
Тоже не понял суть вопроса
Ну цифры какие-то вместо текста в textView!!
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 326
05.01.2017, 16:26 #6
Цитата Сообщение от JerryLetehen Посмотреть сообщение
Ну цифры какие-то вместо текста в textView!!
Ну наверное потому что к ресурсам надо обращаться так:

Java
1
private String Name_Volume;
И в onCreate:
Java
1
Name_Volume = getResources().getString(R.string.text_volume);
0
Pablito
2580 / 2061 / 643
Регистрация: 12.05.2014
Сообщений: 7,233
Завершенные тесты: 1
05.01.2017, 16:29 #7
так как очевидно, что случай клинический, просто скажу что там везде String.valueOf лишние
0
JerryLetehen
8 / 8 / 0
Регистрация: 07.11.2015
Сообщений: 193
05.01.2017, 18:16  [ТС] #8
Паблито, fraley, случай может и клинический, но требует решения, даже если автор тугой(it's me yeah).... Суть в следующем: Открываю приложение>В одном текст вью должен быть текст, изложенный в R.string.text_time, во втором - R.string.text_volume. Эти текст вью у меня кликабельны>нажимаю на первый, открывается timepickerdialg, оттуда беру время и меня текст вью на это время>жмякаю на второй, по аналогичной схеме, но там другое число>жмякаю на кнопку ниже, там у меня вызывается два метода: первый - сохраняет значения текст вью в свои стринги, которые потом сохраняются при помощи sharedpreferences>ещё кнопкой ниже я в текст вью выставляю первоначальные значения и заношу их в стринги и в sharedpreferences. Теперь, если я запущу приложение сного, я вижу цифры(см скришоты). И почему-то эти цифры дают значения каких-то там цветов(см скришоты). Подтверждаю слова кодом: при первом запуске приложения попадаем сюда
Java
1
2
3
4
5
6
7
protected void onResume() {
        super.onResume();
        if (sharedPreferences.getBoolean("firstrun", true)) {
            Save_it();
            sharedPreferences.edit().putBoolean("firstrun", false).apply();
        }
    }
Метод Save_it():
Java
1
2
3
4
5
6
7
8
9
private void Save_it() {
        sharedPreferences = getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        Name_Time = getResources().getString(R.string.text_time);
        Name_Volume = getResources().getString(R.string.text_volume);
        editor.putString(SAVED_TIME_Text, Name_Time);
        editor.putString(SAVED_VOLUME_Text, Name_Volume);
        editor.apply();
    }
Потом мы идём в метод onCreate(): //если я правильно понимаю логику то последовательность именно такая
Java
1
2
3
4
5
6
7
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
final TextView set_time = (TextView)findViewById(R.id.text_time);
        final TextView set_volume = (TextView)findViewById(R.id.text_volume);
//Load
        Load_it();
Запустился метод Load_it(): вот он:
Java
1
2
3
4
5
6
7
8
private void Load_it() {
        sharedPreferences = getPreferences(MODE_PRIVATE);
        String Saved_Time = sharedPreferences.getString(SAVED_TIME_Text, Name_Time);
        TextView set_time = (TextView)findViewById(R.id.text_time);
        set_time.setText(Saved_Time);
        String Saved_Volume = sharedPreferences.getString(SAVED_VOLUME_Text, Name_Volume);
        TextView set_volume = (TextView)findViewById(R.id.text_volume);
        set_volume.setText(Saved_Volume);
Ну а там дальше я меняю Name_time и Name_volume... Блин, похоже на кашу... Но суть такова: из-за чего вообще эти цифры там??? если там должен быть либо текст, либо то цифры, которые я выставил>сохранил, а при запуске приложения>загрузил???

Добавлено через 1 час 8 минут
Проблему устранена усилиями моего мозга)))
0
05.01.2017, 18:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2017, 18:16
Привет! Вот еще темы с ответами:

Вставка текста из файла в TextView - Программирование Android
Доброй ночи. Вопрос возможно банален, но сейчас 2 ночи,а ответ так и не удалось найти. Собственно вопрос: Необходимо загрузить...

Отображение текста (из файла) в textView - Программирование Android
В общем не могу разобраться как сделать так что бы при нажатии на кнопку (Button) в компоненте textView отображался текст, который будет...

Анимация печатания текста в TextView - Программирование Android
Приветствую всех. Сразу покажу, чего хочу добиться (черные косяки вокруг букв в планы не входят :D). Есть String, есть...

Прокрутка текста в TextView без ScrollView - Программирование Android
В рантайме загружаю текст в TextView: String strFile = "Здесь длинная строка на 3000 символов"; MyTextView.setText(strFile); Объем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru