Se escuchó el oyente OnItemLongClick de GridView de Android después de OnItemClick

Básicamente, quiero mostrar un menú contextual diferente cuando el usuario hace clic o hace clic en una celda en la vista de cuadrícula. El problema que tengo es que si el usuario hace clic brevemente, se llama al oyente de OnItemClick y veo que el depurador llega al código que muestra el menú contextual, pero en lugar de pasar de allí a onCreateContextMenu, va a onItemLongClick.

He intentado usar un Booleano para evitar que se ejecute el código de clic largo, lo que impide que se ejecute ese código, sin embargo, incluso cuando se hace esto, OnCreateContextMenu no se llama en absoluto.

Si elimino la escucha onItemLongClick, la escucha de clic corto funciona correctamente y el menú de contexto se muestra correctamente.

Sé que otras personas han hecho preguntas similares a esta, pero aún no he podido encontrar una solución que funcione. Si alguien puede resolver esto o indicarme la dirección correcta, hágamelo saber, gracias de antemano. La recompensa se otorgará a cualquier persona que incluso pueda indicarme la dirección correcta.

Esta es una versión simplificada del código para los oyentes:

        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);      

            }
        });

Respuestas a la pregunta(5)

Su respuesta a la pregunta