从另一个活动更改文本

ehy*_*mel 12 android settext

如何从屏幕的另一部分动态更改TextView的内容?

我有一个TabActivity类,它绘制一个RelativeLayout,其中包含一个TextView,后跟一个包含多个选项卡的文件.每个选项卡中都有一个单独的Intent.从其中一个选项卡意图,我想从父TabActvity更改TextView的文本(通过.setText).

这可能吗?

Vai*_*ani 27

您应该使用Android架构组件:

您可以创建包含数据对象的LiveDataViewModel(如果您只想更改文本).LiveData<String>

当您从一个ActivityFragment所有其他活动和片段更改您的实时数据对象时,将通知观察此实时数据对象.

官方API文档有完整的描述示例.

  • "不要将Android上下文类放在静态字段中;这是内存泄漏(也会破坏Instant Run)" - 不再是更好的解决方案了.您将在Android Studio中获得此警告,同时将其设置为静态.更好的解决方案? (5认同)
  • 要小心,这将改变堆栈上该类的每个实例的`TextView`. (4认同)
  • 优秀; 工作得很好.非常感谢!! (3认同)

Jas*_*son 6

在TabActivity中创建一个设置TextView文本的公共方法,然后getParent()从子活动调用,将其强制转换为TabActivity类,然后调用该公共方法.