Когда я искал тост в 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
с помощью Toast.makeText
прежде чем вы сможете cancel()
его.
Это основной пример отмены Toast
:
Toast mytoast;
mytoast = Toast.makeText(getApplicationContext(), "Jorgesys was here!", Toast.LENGTH_LONG);
mytoast.show();
....
....
....
if(CancelToast){
mytoast.cancel(); //Cancelling the toast!.
}
toast.makeText(this, toastMessage, Toast.LENGTH_LONG);
(или что-то в этом роде), прежде чем вызыватьcancel()