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

Как динамически изменять содержимое 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. } 

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