【问题标题】:Access Activity views for third-party libraries and change text [closed]访问第三方库的活动视图并更改文本[关闭]
【发布时间】:2020-04-17 09:48:48
【问题描述】:

我在我的项目中添加了一个第三方库,它启动 Activity

有什么方法可以访问Activity/Fragment 的视图并以编程方式更改其文本?

【问题讨论】:

  • 对于审阅者:这个问题完全可以回答,事实证明我能够写一个对提问者有用的answer,以及描述您将使用的一般策略为 any 库解决此问题。

标签: android shared-libraries android-view android-fragmentactivity


【解决方案1】:

确切地做什么很大程度上取决于第三方库,而且库肯定不支持它并且可能会因库更新而中断,但通常,您可以registerActivityLifecycleCallbacks在您的 Application 上下文中。您将在回调中获得对 Activity 的引用。从那里,您可以get the root view 并使用findViewById,如果您知道 ID,走树并查找您期望的文本,或者使用其他识别它的方式(可能是视图的类,或者它在结构中的位置)。

可以通过获取FragmentManager 并调用getFragments() 来检索片段。请注意,您需要知道它是使用框架 FragmentManager 还是来自 androidx/android.support 的框架,才能知道是使用 getFragmentManager() 还是 getSupportFragmentManager()

【讨论】:

  • 我有什么方法可以访问片段吗?
  • 是的,您可以遍历片段管理器的片段并使用类似的技术来找出哪一个(除非只有一个,否则很容易)。在答案中对此进行了扩展。
猜你喜欢
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多