0

ライブラリと引き出しメニューとの互換性に取り組んでいます。

supportInvalidateOptionsMenu () 関数を呼び出した後。ポップアップ メニューが表示されず、コア フロー アイコンのみが表示されます。

これに対する解決策はありますか?

私のActMainでこれを行います(非常にフラグメントの主な活動)

  @Override
    public boolean onPrepareOptionsMenu(Menu menu) {

        // If the nav drawer is open, hide action items related to the content view
        boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
        hideMenuItems(menu, !drawerOpen);
        return super.onPrepareOptionsMenu(menu);
    }

    private void hideMenuItems(Menu menu, boolean visible)
    {

        for(int i = 0; i < menu.size(); i++) {

            menu.getItem(i).setVisible(visible);
        }
    }

注: サブメニューを持つメニュー項目は 1 つだけです。このサブメニューでは、すべてのアイテムが表示されますが、ActionBar に表示されるアイテムをクリックすると、他のアイテムが複数回表示されることはありません。これは、Android のバージョン 2.3 でのみ発生します。アッパーでうまく機能します。

4

2 に答える 2

1

は、 で実行しようとしているときに が呼び出されないことを使用する場合にsupportInvalidateOptionsMenuのみ有効です。android 2.3 and lowersupportonPrepareOptionsMenuandroid 2.3 and above

解決:

デバイスが2.3 and lowerまたはaboveであるかどうを最初に確認できますinvalidateOptionsMenu()onPrepareOptionsMenu

于 2014-08-23T00:23:58.990 に答える