我的 Android 应用程序有一个带菜单的导航抽屉。在应用程序的免费版本中,我希望有一个菜单项,允许用户升级到付费版本。显然,我不希望在付费版本中出现这种情况。
如何隐藏付费版本的菜单项?
菜单如下所示:
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_home"
android:icon="@drawable/btn_home"
android:title="@string/nav_home"
/>
<item
android:id="@+id/action_acc_upgrade"
android:icon="@drawable/ic_star_black"
android:title="@string/str_acc_upgrade" />
<item
android:id="@+id/action_help"
android:icon="@drawable/ic_help_black"
android:title="@string/nav_help"
/>
</menu>
在活动中,我有:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = this.getMenuInflater();
inflater.inflate(R.menu.activity_main_drawer, menu);
if(isPaid()) {
MenuItem upgrade = menu.findItem(R.id.action_acc_upgrade);
upgrade.setVisible(false);
}
return true;
}
如果我通过调试器运行它,它会到达该行if(isPaid()),然后将其评估为 true,因此进入 setVisible 部分。不过,该项目仍显示在菜单中。
我还尝试从菜单中删除该项目而不是隐藏它;调试器显示该项目已删除,但在显示菜单时仍会显示该项目。
如何隐藏/删除此项目?
料青山看我应如是
海绵宝宝撒
繁花不似锦
相关分类