如何在Lollipop上引用ActionBar标题View

Dro*_*man 4 android android-actionbar android-5.0-lollipop

我有一个Activity扩展AppCompatActivity并使用支持ActionBar.编译SDK版本为23,测试设备SDK为21-22.然而,我需要获得这个ActionBar标题TextView,这是最着名的方式

int resId = getResources().getIdentifier("action_bar_title", "id", "android");
return (TextView) findViewById(resId);
Run Code Online (Sandbox Code Playgroud)

从API 21开始不起作用.有没有办法TextView在Lollipop上引用标题?

xia*_*omi 7

有了AppCompatActivity,你可以TextView间接检索你想要的,因为它似乎TextView没有id,如下所示:

Toolbar toolbar = (Toolbar) findViewById(R.id.action_bar);
TextView textView = (TextView) toolbar.getChildAt(0);
Run Code Online (Sandbox Code Playgroud)

我使用层次结构查看器工具来获取视图树.(您可以在Hierarchy View透视图下的Android Device Monitor中找到的工具)

操作栏视图树