第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何快速刪除菜單項(xiàng)?

如何快速刪除菜單項(xiàng)?

偶然的你 2021-12-22 15:58:47
我的 Android 應(yīng)用程序有一個(gè)帶菜單的導(dǎo)航抽屜。在應(yīng)用程序的免費(fèi)版本中,我希望有一個(gè)菜單項(xiàng),允許用戶(hù)升級(jí)到付費(fèi)版本。顯然,我不希望在付費(fèi)版本中出現(xiàn)這種情況。如何隱藏付費(fèi)版本的菜單項(xiàng)?菜單如下所示:<?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>在活動(dòng)中,我有:@Overridepublic 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;}如果我通過(guò)調(diào)試器運(yùn)行它,它會(huì)到達(dá)該行if(isPaid()),然后將其評(píng)估為 true,因此進(jìn)入 setVisible 部分。不過(guò),該項(xiàng)目仍顯示在菜單中。我還嘗試從菜單中刪除該項(xiàng)目而不是隱藏它;調(diào)試器顯示該項(xiàng)目已刪除,但在顯示菜單時(shí)仍會(huì)顯示該項(xiàng)目。如何隱藏/刪除此項(xiàng)目?
查看完整描述

3 回答

?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

你可以在onCreate()你的活動(dòng)中做到這一點(diǎn):


NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);

Menu navMenu = navigationView.getMenu();

navMenu.removeItem(R.id.action_acc_upgrade);

替換nav_view為您NavigationView的 id。


查看完整回答
反對(duì) 回復(fù) 2021-12-22
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

你應(yīng)該onPrepareOptionsMenu像這樣覆蓋:


@Override

public void onPrepareOptionsMenu(Menu menu) {

    super.onPrepareOptionsMenu(menu);

    if(isPaid()) {

       menu.findItem(R.id.action_settings).setVisible(false);

    }

}

注意: 確保在onPrepareOptionsMenu回調(diào)之前獲取正確的 isPaid() 值,例如 inonCreate()或onResume()。


查看完整回答
反對(duì) 回復(fù) 2021-12-22
?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

有幾種選擇:


最方便的選擇:在您的build.gradle文件中創(chuàng)建 2 種不同的 productFlavours


productFlavors {

    free {

      ...

    }

    paid {

      ...

    }

}

然后覆蓋沒(méi)有action_acc_upgrade項(xiàng)目的菜單文件以獲得付費(fèi)風(fēng)味。


如果您想以編程方式更改可見(jiàn)性,請(qǐng)嘗試使用onPrepareOptionsMenu代替onCreateOptionsMenu:


@Override

public void onPrepareOptionsMenu(Menu menu) {

    super.onPrepareOptionsMenu(menu);

    if(isPaid()) {

        MenuItem upgrade = menu.findItem(R.id.action_acc_upgrade);

        upgrade.setEnabled(false);

        upgrade.setVisible(false);

    }

}

如果您需要在創(chuàng)建后更改菜單,請(qǐng)調(diào)用invalidateOptionsMenu().


查看完整回答
反對(duì) 回復(fù) 2021-12-22
  • 3 回答
  • 0 關(guān)注
  • 186 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)