2016-12-17 2 views
0

Я пытаюсь установить aa текст для моего TextView, который находится внутри DrawerLayout, проблема в том, что каждый раз, когда я пытаюсь установить текст, я получил исключение NullException, возможно, проблема заключается в том, потому что я не проверяю, открыт ли он. Я не делаю ничего необычного ...Как получить доступ к TextView внутри DrawerLayout

private TextView my_textView; 

onCreate..... 

Drawer class... 

my_textView = (Textview)findViewByid(R.id.nav_text); 

enter image description here

Спасибо!

+0

Является ли это в 'NavigationView' заголовок? –

ответ

1

Я предполагаю, что текст внутри заголовка NavigationView.

Во-первых, инициализировать NavigationView заголовок

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 

Далее Инициализировать вид внутри заголовка.

TextView my_textView = (TextView) navigationView.getHeaderView(0).findViewById(R.id.nav_text); 

Теперь измените текст с помощью метода setText

my_textView.setText("New Text"); 

Надежда это помогает.

+0

спасибо! оно работает! –

0

Вам нужно вызвать drawerLayout.findViewByid() вместо findViewByid(). Поскольку текстовое окно доступно в drawerLayout. Таким образом изменить свой код, как показано ниже

private TextView my_textView; 

onCreate..... 

Drawer class... 

my_textView = (Textview)drawerLayout.findViewByid(R.id.nav_text); 
0

Попробуйте, как показано ниже, если вы хотите получить доступ с видом заголовка:

View headerView = LayoutInflater.from(this).inflate(R.layout.nav_header_main, null); 
     navigationView.addHeaderView(headerView); 

     TextView tvUserName = (TextView) headerView.findViewById(R.id.admin_header_name_tv); 
Смежные вопросы