【发布时间】:2014-10-19 21:26:28
【问题描述】:
我有一个库需要使用 TextView 的颜色作为 ActionBar 标题。在 AppCompat v7 r21 之前,我可以 findViewById() 直接从视图中获取颜色。但是,由于某种原因,现在这不起作用。视图始终为空。我编写了解析整个视图层次结构并打印出所有TextViews 的ID、类型和值的代码。标题视图没有ID,我觉得很奇怪。
我注意到的一件事是,当我尝试获取 ActionBar 时,返回的是一个工具栏(即使我没有在我的应用程序中使用工具栏)。因此,我迭代了Toolbar 的子视图,每当找到TextView 时,我都会将其文本值与toolbar.getTitle() 进行比较,以确保这是我正在寻找的TextView。不理想,我不确定它是否适用于所有情况。
有谁知道什么是最安全的解决方案?
【问题讨论】:
-
您找到解决方案了吗?
-
不,我只是坚持通过遍历工具栏的子项来查找标题 TextView 的代码。
-
在这里看看我的遮阳篷:stackoverflow.com/a/26888120/2742962
-
@BugsBunnyBr 这很好,但如果他们再次更改会员的 ID 或名称,它会中断:(
标签: android android-support-library android-appcompat