setText в чекмеджето за навигация

Как да задам текст за преглед от оформлението на заглавката на чекмеджето в чекмеджето за навигация?

protected void onCreate(Bundle savedInstanceState) {

[...]

 NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
 navigationView.setNavigationItemSelectedListener(this);
 TextView name = findViewById(R.id.username);
 name.setText(R.string.af_anasayfa_af_butonu);

}

Причинено от: java.lang.NullPointerException: Опит за извикване на виртуален метод 'void android.widget.TextView.setText(int)' върху препратка към нулев обект ..


person JavaOgreniyor    schedule 23.09.2018    source източник
comment
Сигурни ли сте, че вашето TextView наистина има идентификатор username?   -  person user3738870    schedule 23.09.2018
comment
@user3738870 Да   -  person JavaOgreniyor    schedule 23.09.2018


Отговори (3)


Можете да опитате това:

TextView name = (TextView) navigationView.getHeaderView(0).findViewById(R.id.username);
person navylover    schedule 23.09.2018
comment
@JavaOgreniyor Добре дошъл, можеш ли да гласуваш за или да приемеш отговора ми, благодаря! - person navylover; 23.09.2018

използвайте това, за да промените текста на чекмеджето за материали

navigationView.getMenu().getItem(0).setTitle("any text");

or

navigationView.getMenu().findItem(R.id.nav_calculator).setTitle("xxx");

Второ, вашият метод за получаване на низ също не е правилен, правилният начин е

String s= getResources().getString(R.string.appbar_scrolling_view_behavior); 
person Intsab Haider    schedule 23.09.2018

@Jens благодаря за отговора, ще опитам, когато се върна у дома. някаква причина за тази корекция?
person Farrokh    schedule 23.09.2018