androidx.appcompat.view.menu.MenuItemImpl 无法转换为 android.widget.TextView

androidx.appcompat.view.menu.MenuItemImpl cannot be cast to android.widget.TextView

一改就报错

NavigationView navigationView = (TextView) MenuItemCompat.getActionView( 
   navigationView.getMenu().findItem( R.id.nav_view ) );

NavigationView navigationView  = (TextView) navigationView.getMenu().findItem( R.id.nav_view );

MenuItemCompat.getActionView 已弃用 API 这就是我更改但我的应用程序崩溃的原因。

试试这个,

navigationView.getMenu().findItem(R.id.nav_history).getActionView();

错误:您无法在第二行代码中将 NavigationView 转换为 TextView

你可以通过NavigationView.getMenu()

的方法得到
Menu menuNav = mNavigationView.getMenu();

然后您可以通过

查找特定项目
MenuItem logoutItem = menuNav.findItem(R.id.menu_logout);

参见 NavigationView

的官方文档

假设您的 menu 包含 MenuItemActionViewClassTextView。然后你可以像下面这样为你的菜单设置文本:

MenuItem menuItem = navigationView.getMenu().findItem( R.id.MENU_ITEM_ID );
TextView textView = (TextView) menuItem.getActionView();

//Set your text here
textView.setText(YOUR_TEXT);