Intereting Posts
Как исправить андроид-студии 2.3 Ошибка NDK? Проблемы с генетикой в ​​окнах 10 Невозможно десериализовать экземпляр объекта из токена START_ARRAY весной 3 REST Webservice Анимация при изменении ориентации Добавление круглой рамки вокруг закругленного растрового изображения Жест жестокости применяется на уровне фрагмента вместе с ViewPager с отключенным салфеткой по умолчанию Храните изображение в Blobstore от клиента android и извлекайте blobkey и загружайте URL-адрес для хранения в Datastore. – GAE Android Copy & Paste в любое текстовое поле в любом приложении Webview заставляет мое scrollview снизу «Не удается найти модуль с тегом« CocosDenshion / android »в пути импорта» ошибка в приложении cocos2dx Центрирование представлений CheckBox Исключение: android.view.InflateException: двоичная строка XML-файла # 2: ошибка раздувания класса android.support.v7.widget.CardView Google добавляет API только 5 результатов Лучшая база данных для разработки мобильных телефонов Как вращать путь так же, как растровое изображение

Изменение текста из другого вида деятельности

Как динамически изменять содержимое TextView с другой части экрана?

У меня есть класс TabActivity, который рисует RelativeLayout, который содержит TextView, за которым следует a с несколькими вкладками. Внутри каждой вкладки есть отдельное намерение. Из одного из вкладок я хотел бы изменить текст (через .setText) TextView из родительского TabActvity.

Это возможно?

Solutions Collecting From Web of "Изменение текста из другого вида деятельности"

Вы должны использовать компоненты архитектуры Android :

Вы можете создать ViewModel, содержащий LiveData вашего объекта данных ( LiveData<String> если вы хотите изменить только текст).

Когда вы измените свой живой объект данных с одного Activity или Fragment все остальные действия и фрагменты, наблюдаемые для этого объекта живых данных, получат уведомление.

В официальном документе API есть полный пример с описанием .

Создайте общедоступный метод в своей TabActivity, который устанавливает текст TextView, затем вызывает getParent() из дочернего действия, передает его в класс TabActivity, а затем вызывает этот открытый метод.

Вы можете попробовать реализовать обработчик для родительской вкладки, которая выполняет задание. Передайте текст в объекте сообщения с каждого из ваших соответствующих вкладок. Чтобы быть в безопасности, внесите изменения внутри обработчика внутри блока runOnUI

В случае изменения текста из файла асинтезы вам необходимо реализовать интерфейс с прослушивателем. Пример:

AsynctaskFile:

 OnReadyListener onReadyListener; public class ABCAsynctaskFile{ ... onReadyListener.onReady(); } public interface OnReadyListener{ void onReady(); } public void setOnReadyListener(OnReadyListener onReadyListener){ this.onReadyListener = onReadyListener; } 

ActivityFile:

 public class ABC extends AppCompactActivity implements ABCAsynctaskFile.OnReadyListener{ .. ABCAsynctaskFile aBCAsynctaskFileObj = new ABCAsynctaskFile(context); aBCAsynctaskFile.setOnReadyListener(ABC.this) } @Override public void onReady(){ // Your wished changed in edit text. } 

Эта структура поможет вам исключить исключение нулевого указателя.