Android GridView OnItemLongClick слушатель вызывается после OnItemClick

По сути, я хочу показать другое контекстное меню, когда пользователь щелкает короткими или длинными щелчками по ячейке в виде сетки. Проблема, с которой я столкнулся, заключается в том, что если пользователь коротким щелчком мыши вызывает прослушиватель OnItemClick, и я вижу, что отладчик достигает кода, отображающего контекстное меню, но вместо перехода оттуда к onCreateContextMenu он переходит к onItemLongClick.

Я попытался использовать Boolean для предотвращения выполнения кода с длинным щелчком, который не позволяет выполнить этот код, однако даже когда это делается, onCreateContextMenu вообще не вызывается.

Если я удаляю прослушиватель onItemLongClick, прослушиватель коротких щелчков работает правильно, и контекстное меню отображается правильно.

Я знаю, что другие люди задавали вопросы, подобные этому, но я все еще не смог найти решение, которое работает. Если кто-нибудь может решить эту проблему или указать мне правильное направление, пожалуйста, дайте мне знать, спасибо заранее. Щедрость будет вручена любому, кто может указать мне правильное направление.

Это упрощенная версия кода для слушателей:

        mTGrid.setOnItemClickListener(new OnItemClickListener() {
            //this listener should show the context menu for a short click on the gridview.
            @Override
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                    mRequiredMenu = "standard";
                    parent.showContextMenuForChild(v);      

            }
        });

        mTGrid.setOnItemLongClickListener(new OnItemLongClickListener() {
            //this listener should show the context menu for a long click on the gridview.
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
                    mRequiredMenu = "options";
                        parent.showContextMenuForChild(v);      

            }
        });

Ответы на вопрос(5)

Ваш ответ на вопрос