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

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

Войти
Регистрация
Восстановить пароль
 
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
#1

GetString и оператор ? - Программирование Android

16.08.2014, 20:27. Просмотров 405. Ответов 2
Метки нет (Все метки)

В методе onCreate имеется строка
Java
1
myTextView.setText(flag? getString(R.string.my_text) : "");
где flag - это статическая переменная.
Первый раз при вызове onCreate система проходит эту строку нормально. Однако, когда при повороте экрана вновь вызывается onCreate проходя эту строку система падает с маловразумительными воплем RuntimeException.
Если же строку заменить на
Java
1
2
3
if (flag) {
    myTextView.setText(getString(R.string.my_text));
}
то все работает нормально.
Не знаю даже что подумать... Что бы это значило?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2014, 20:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос GetString и оператор ? (Программирование Android):

SharedPreferences putString и getString - Программирование Android
Здравствуйте! Хотел спросить как можно сделать сохранения данных для строковых значений чтобы она сохранилось и передавалось в дргуое...

GetString не работает в классах? - Программирование Android
public class FotoLab { private static FotoLab sFotoLab; private Context mAppContext; private ArrayList<Foto> mFoto; ...

Функция обратная getString() - Программирование Android
Здравствуйте, всем. Часто использую getString(R.string.somestring, value1, value2) применительно к TextView.setText(); Далее...

SharedPreferences. Чудеса при putString/getString - Программирование Android
static SharedPreferences mSettings = PreferenceManager.getDefaultSharedPreferences(this); String value_1 = "trade1.db"; ...

Крашиться при запросе String number = c.getString(c.getColumnIndex("address"); - Программирование Android
http://rghost.ru/6FKfffYZG крашится на 88 строке почему? проект - http://rghost.ru/6FKfffYZG package com.vrs.smsapp;

Оператор if - Программирование Android
Здравствуйте! Не получается сравнить полученные данные, чтобы сменилась кнопка; меняется только при if = false. Перерыл пол интернета,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
646kapeh064
59 / 58 / 15
Регистрация: 09.12.2013
Сообщений: 206
16.08.2014, 21:41 #2
vxg, покажи полностью код. Возможно при повороте экрана у тебя myTextView ссылается на старый TextView который уничтожился.
1
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
16.08.2014, 22:16  [ТС] #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от 646kapeh064 Посмотреть сообщение
Возможно при повороте экрана у тебя myTextView ссылается на старый TextView который уничтожился.
Долго об этом думал пока отлаживал. Исходил из того что это невозможно. Если Activity кто-то держит (есть ссылки на ее поля у какого-нибудь потока или объекта класса Handler), то ее старые "кишки" не могут быть уничтожены. Да, мы запишем в "старье" и оно сразу же будет удалено как только мы "отпустим" ссылку. Но запись должна пройти успешно. А у меня после длительных попыток уронить и очисток проекта стал падать даже работающий вариант. Причем было замечено что при падении ссылка myTextView нулевая... Что еще более стимулировало мысль в сторону того что "кишки" кто-то убивает при рестарте... Все выяснилось неожиданно и позорно: в проекте было два Layout - для портретной и альбомной ориентации. Так вот на альбомной просто не было элемента в который пытался писать myTextView и ссылка получала нулевое значение. Любопытно, что программа падала не всегда. Видимо иногда можно писать в ноль или что-то в этом роде) Тема может быть закрыта)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2014, 22:16
Привет! Вот еще темы с ответами:

Оператор IF в android - Программирование Android
здравствуйте!!! усть такой кусок кода dox_ras2 = cursor.getString(cursor.getColumnIndex("datas")); Log.d("ME", dox_ras2); ...

Получение даты и оператор if - Программирование Android
Всем привет!Помогите с получением даты.Есть вот этот код,я хочу чтоб после получении даты он грузил определённый .xml .Знаю что надо...

Почему оператор сравнения не работает? - Программирование Android
Здравствуйте, Простой вопрос, очень простой, но ввел в ступор Есть стринговая переменная, которая берется из текстового поля....

Можно ли для объекта определить оператор[] как в C# - Программирование Android
Можно ли для объекта определить оператор как в C# class S { private int array; public int this { return array; } }


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

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

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