我在字体真棒中遇到问题,我尝试了很多方法在菜单项中设置字体真棒图标,但问题没有解决。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.drawer_menu, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
TextDrawable faIcon = new TextDrawable(this);
faIcon.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 30);
faIcon.setTextAlign(Layout.Alignment.ALIGN_NORMAL);
faIcon.setTypeface(FontAwesomeManager.getTypeface(this, FontAwesomeManager.FONTAWESOME));
faIcon.setText(getResources().getText(R.string.home_font));
MenuItem menuItem = menu.findItem(R.id.home);
menuItem.setIcon(faIcon);
menuItem.setTitle("Home");
return true;
}
上面的代码是我的字体很棒的代码,用于将字体设置为导航抽屉菜单中的菜单项图标。请帮我解决这个问题。
如何在菜单项中添加字体真棒字体,如上图所示。
答案 0 :(得分:0)
此异常显示在logcat ..java.lang.NullPointerException中:尝试在空对象引用上调用接口方法'android.view.MenuItem android.view.Menu.findItem(int)'
您应该从Menu
或onCreateOptionsMenu(Menu)
回调中获得对onPrepareOptionsMenu(Menu)
的引用。
@Override
public boolean onPrepareOptionsMenu(final Menu menu) {
MenuItem menuItem = menu.findItem(R.id.alerts_id);
... // other actions with menuItem
}
答案 1 :(得分:0)
我也遇到了同样的问题,如果有人仍然在这种情况下挣扎,可以尝试以下方法查看它是否适用于他们
NavigationView navigationView = findViewById(R.id.nav_view); 菜单navMenu = navigationView.getMenu();
FontDrawable drawable = new FontDrawable(this,R.string.fa_sign_out_alt_solid,true,false); drawable.setTextSize(20);
MenuItem logOutItem = navMenu.findItem(R.id.nav_logout);
logOutItem.setIcon(drawable);
下面显示了屏幕截图供参考