Ответ 1
Я не уверен, что это сработает, но, возможно, попробуем отменить оба из них, а затем снова показать второй.
В моем приложении отображается Toast
, когда происходит определенное действие. Однако, если два из этих действий происходят в непосредственной близости, я бы хотел отказаться от отображения первого Toast
, вместо этого отобразив только второй. Я думал, что Toast.cancel()
выполнит трюк, но то, что он делает, просто спрячет первый тост; второй отображается только после того, как первый из них все равно будет отображаться.
Пример кода:
Toast toast1 = Toast.makeText(parentActivity, "Test1", Toast.LENGTH_SHORT);
Toast toast2 = Toast.makeText(parentActivity, "Test2", Toast.LENGTH_SHORT);
toast1.show();
toast2.show();
toast1.cancel();
Второй Toast
появляется только после короткого ожидания (длина короткой продолжительности). Это действительно происходит, даже если я вызываю toast2.cancel()
.
Я не уверен, что это сработает, но, возможно, попробуем отменить оба из них, а затем снова показать второй.
Toast.makeText(context, text, duration)
возвращает объект Toast. Вызовите cancel() метод для этого объекта, чтобы отменить его.
Пример:
Toast mToastText = Toast.makeText(getApplicationContext(), "Hello StackOverFlow!", Toast.LENGTH_SHORT);
mToastText.cancel();