¿Cómo cancelar Toast creado en un método diferente en Android?

Tengo el siguiente código

private Toast movieRecordToast;

    private void displayNextMovie() {
        if (movieRecordToast != null) movieRecordToast.cancel(); // cancel previous Toast (if user changes movies too often)
        movieRecordToast = Toast.makeText(getApplicationContext(), "Next", Toast.LENGTH_SHORT);
        movieRecordToast.show();

    private void displayPrevMovie() {
        if (movieRecordToast != null) movieRecordToast.cancel();
        movieRecordToast = Toast.makeText(getApplicationContext(), "Prev", Toast.LENGTH_SHORT);
        movieRecordToast.show();        

Pero sidisplayNextMovie se llama rápidamente varias veces y luegodisplayPrevMovie se llama, "Siguiente" Toast todavía se muestra y solo después de eso se muestra "Anterior". Parece que la cancelación no funciona correctamente.

Respuestas a la pregunta(3)

Su respuesta a la pregunta