Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Android > Как работать с textView.setText ? |
Автор: gesper 1.11.2013, 00:33 | ||
Сделал программу которая выводит смс с определенного номера в свой список. Программа это три фрагмента, которые через табы листаются. Список находится на втором фрагменте и загружается при создании этого фрагмента, все работает и хорошо. На первом фрагменте есть TextView, я во время загрузки сделал проверку смс по дате и последнее смс запоминается в переменных и должно отобразится на первом фрагменте. Ниже приведен код этого действия.
Я прогнал работу кода через отладчик при подключенном мобильнике, находится этот textview, отображается содержимое его("Пока нет смс") в отладчике, вижу как заменяется текст, на новый из СМС. Но как только я смотрю на экран телефона текст остается прежним, как будто ничего не происходит и без глюков все работает дальше. Что за прикол? Пробовал это же код вытащить из функции в Активность основную, и при ее запуске импровизированный текст передать в компонент, тоже ноль эмоций. Но в отсальных местах, аналогичным способом текс почему то вставляется в нужные части экрана, что я пропустил? |
Автор: vladpartner2 26.11.2013, 18:40 |
Тот же вопрос |
Автор: Felan 29.11.2013, 19:04 |
Вообще setText вроде просто выполняется как есть... В качестве телепатии (а то не понятно, что потом происходит с контролами): МОжет быть у тебя не та версия текствью? Инфлейтер создает новые экземпляры контролов. Т.е. после того как их "заинфлейтер" их надо добавить на контрол родитель... Если текст вью прописан в лейауте, то получается, что показывается один экземпляр текствью, который из лейаута, а текст выставляется другому, который поулчен вручную через инфлейтор... Может быть как-то так... |
Автор: ShellRaiser 23.12.2013, 17:15 | ||
пробовали сетать значение из onActivityCreated метода?![]()
1) onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) уже передает вам инфлейтер 2) inflater.inflate(R.layout.fragment_main, container, false) - правильнее инфлейтить так (в листвью намучаетесь если захотите добавиь паддинги и будете инфлейтить айтемы без указания парента, пока не поймете в чем проблема) Добавлено через 1 минуту и 57 секунд Можно более развернутый кусок кода? |