С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
JerryLetehen
14 / 14 / 2
Регистрация: 07.11.2015
Сообщений: 236
1

Код цвета в textView вместо текста

05.01.2017, 13:24. Просмотров 284. Ответов 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 studio Textview имеет размеры 100% на 50%, заполняя половину экрана....

Выделение текста в TextView
При выделении текста в TextView android:textIsSelectable="true" на моем...

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

TextView выравнивание текста
В текст в TextView по умолчанию идет выравнивание текста по левому краю. Как...

7
Pablito
2777 / 2206 / 746
Регистрация: 12.05.2014
Сообщений: 7,737
Завершенные тесты: 1
05.01.2017, 13:28 2
много букв, в чем суть проблемы?
0
JerryLetehen
14 / 14 / 2
Регистрация: 07.11.2015
Сообщений: 236
05.01.2017, 13:29  [ТС] 3
Паблито, вот
0
Миниатюры
Код цвета в textView вместо текста  
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
05.01.2017, 16:02 4
Тоже не понял суть вопроса, но в любом случае что-то сохранять onDestroy нельзя, так как вызов этой функции не гарантирован.
0
JerryLetehen
14 / 14 / 2
Регистрация: 07.11.2015
Сообщений: 236
05.01.2017, 16:19  [ТС] 5
Цитата Сообщение от fraley Посмотреть сообщение
Тоже не понял суть вопроса
Ну цифры какие-то вместо текста в textView!!
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
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
2777 / 2206 / 746
Регистрация: 12.05.2014
Сообщений: 7,737
Завершенные тесты: 1
05.01.2017, 16:29 7
так как очевидно, что случай клинический, просто скажу что там везде String.valueOf лишние
0
JerryLetehen
14 / 14 / 2
Регистрация: 07.11.2015
Сообщений: 236
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 по ширине
Доброго времени суток! Подскажите пожалуйста, как можно выровнять текст по...

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

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


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

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

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