2015-09-16 4 views
4

У меня есть Activity, который расширяет AppCompatActivity и использует опору ActionBar. Компилировать версию SDK составляет 23, тестовые устройства SDK - 21-22. мне нужно, чтобы получить титул ActionBar «s TextView, однако, самый известный способ сделать этокак ссылку на название ActionBar Посмотреть на Lollipop

int resId = getResources().getIdentifier("action_bar_title", "id", "android"); 
return (TextView) findViewById(resId); 

не работает, начиная с API 21. Есть ли способ сослаться на название TextView на леденец?

ответ

7

С AppCompatActivity, Вы можете получить TextView, что вы хотите, косвенно, потому что кажется, что это TextView не имеет идентификатора, например:

Toolbar toolbar = (Toolbar) findViewById(R.id.action_bar); 
TextView textView = (TextView) toolbar.getChildAt(0); 

Я использовал инструмент Hierarchy Viewer, чтобы получить вид дерева. (Инструмент, который вы можете найти в Monitor для Android устройств под Hierarchy View точки зрения)

Action bar view tree

+0

это работало для меня, спасибо – Droidman

+0

... большие, работает – user25

+0

Великий, я также нашел подзаголовок с ребенком идентификатором 2 – user25

Смежные вопросы