gpt4 book ai didi

java - 如何以编程方式隐藏 Android 中操作栏上的菜单?

转载 作者:行者123 更新时间:2023-12-01 19:13:49 25 4
gpt4 key购买 nike

这就是我在操作栏上声明菜单的方式:

public void checkUserType() {
if (mPrefs.getUserType().equalsIgnoreCase("mahasiswa")) {
requestData(String.valueOf(mPrefs.getUserID()));
} else if (mPrefs.getUserType().equalsIgnoreCase("dosen")) {
requestData(String.valueOf(mPrefs.getSelectedUserId()));
getSupportActionBar().hide();
myMenu.findItem(R.id.exit).setVisible(false);
}

我想使用 if-else 隐藏/删除操作栏中的菜单(不隐藏整个操作栏,仅隐藏菜单)。我尝试过使用“myMenu.findItem(R.id.exit).setVisible(false);”但在空对象引用上发生错误

这是我的代码:

public void checkUserType() {
if (mPrefs.getUserType().equalsIgnoreCase("mahasiswa")) {
requestData(String.valueOf(mPrefs.getUserID()));
} else if (mPrefs.getUserType().equalsIgnoreCase("dosen")) {
requestData(String.valueOf(mPrefs.getSelectedUserId()));
getSupportActionBar().hide();
myMenu.findItem(R.id.exit).setVisible(false);
}

最佳答案

这将通过 id 隐藏菜单项:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate( R.menu.main_menu, menu );

// hide menu item
menu.findItem( R.id.menu_item_1 ).setVisible( false );
return true;
}

您可以将其应用于:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if( item.getItemId() == R.id.menu_item_1 ) {
item.setVisible( false );
}
}

关于java - 如何以编程方式隐藏 Android 中操作栏上的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59441776/

25 4 0