在Music中长按一首歌,执行"添加到播放列表"时,屏幕会闪两次

来源:互联网 发布:网络教育英文翻译 编辑:程序博客网 时间:2024/06/03 12:29
請將 PhoneWindow.DialogMenuCallback 裡所有的用到 mSubMenuHelper 註釋掉, 就可以解決這個問題
詳細修改如下
    private final class DialogMenuCallback implements MenuBuilder.Callback, MenuPresenter.Callback {
        private int mFeatureId;
        //private MenuDialogHelper mSubMenuHelper;
        public DialogMenuCallback(int featureId) {
            mFeatureId = featureId;
        }
        public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) {
            if (menu.getRootMenu() != menu) {
                onCloseSubMenu(menu);
            }
            if (allMenusAreClosing) {
                Callback callback = getCallback();
                if (callback != null && !isDestroyed()) {
                    callback.onPanelClosed(mFeatureId, menu);
                }
                if (menu == mContextMenu) {
                    dismissContextMenu();
                }
                // Dismiss the submenu, if it is showing
                //if (mSubMenuHelper != null) {
                //    mSubMenuHelper.dismiss();
                //    mSubMenuHelper = null;
                //}
            }
        }
        public void onCloseSubMenu(MenuBuilder menu) {
            Callback callback = getCallback();
            if (callback != null && !isDestroyed()) {
                callback.onPanelClosed(mFeatureId, menu.getRootMenu());
            }
        }
        public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) {
            Callback callback = getCallback();
            return (callback != null && !isDestroyed())
                    && callback.onMenuItemSelected(mFeatureId, item);
        }
        public void onMenuModeChange(MenuBuilder menu) {
        }
        public boolean onOpenSubMenu(MenuBuilder subMenu) {
            if (subMenu == null) return false;
            // Set a simple callback for the submenu
            subMenu.setCallback(this);
            // M: ListMenuPresenter create sub menu dialog there 
            // The window manager will give us a valid window token
            //mSubMenuHelper = new MenuDialogHelper(subMenu);
            //mSubMenuHelper.show(null);
            return true;
        }
    }
原创粉丝点击