Тост отмены не работает

1

Когда я искал тост в stackoverflow, я нашел много вещей, которые были связаны с моей проблемой. Однако ни одна из них не решила мою проблему. В моем приложении Android я должен показать много тостов после eachother.However, когда я пытаюсь сделать это, следующий тост ждет, чтобы текущий тост закончить. Даже если я использовал отмену для тоста, мне кажется, что он никогда не работает. Пожалуйста, предложите мне точное решение. Спасибо.

inflater = getLayoutInflater();
    backgForToast=(ViewGroup) findViewById(R.id.toast_layout_root);
    layout = inflater.inflate(R.layout.toastbackground,backgForToast);
    textForToast = (TextView) layout.findViewById(R.id.text);

    textForToast.setText(toastMessage);
    toast.setGravity(Gravity.TOP|Gravity.LEFT, toastX2-90,toastY2-90);
    toast.setView(layout);
    toast.show();

    Handler handler = new Handler();
    long delay = 500;

    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            toast.cancel();
        }
    }, delay);
Теги:
toast
android-widget

2 ответа

1
Лучший ответ

Вам нужно создать объект Toast с помощью Toast.makeText прежде чем вы сможете cancel() его.

  • 0
    Я сделал это в методе onCreate, например, toast = new Toast (this);
  • 0
    Итак, вам нужно вызвать toast.makeText(this, toastMessage, Toast.LENGTH_LONG); (или что-то в этом роде), прежде чем вызывать cancel()
Показать ещё 1 комментарий
1

Это основной пример отмены Toast:

Toast mytoast;
mytoast = Toast.makeText(getApplicationContext(), "Jorgesys was here!", Toast.LENGTH_LONG);
mytoast.show();
....
....
....
if(CancelToast){
  mytoast.cancel();   //Cancelling the toast!.
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню