У меня есть кнопка в моей деятельности. Если я нажму на шоу Toast. Но когда я снова нажимаю Toast show. Поэтому в результате, когда я нажимаю много раз, этот тост появится долгое время. Когда сначала исчезает, появляется следующий и т. Д. Как я могу сделать, когда я снова нажимаю кнопку, первый тост будет скрываться.Тост и продолжительность
ответ
звонок cancel()
способ скрыть тост, если уже отображается.
Посмотрите this API.
Это может быть просто названием на объекте Тост в.
Toast toast = new Toast(context);
toast.setText("Text");
toast.show();//(call show() to display Toast)
toast.cancel();//(call cancel() to hide Toast).
Когда я попытался использовать код выше, я получил сообщение об ошибке. Решение заключалось в использовании статического метода «Toast.makeText»: ** Toast.makeText (getApplicationContext(), «Text», 2000) .show(); ** (2000 - продолжительность 2 секунды) –
В 'Toast' У вас нет длительности ... – pixel
Выдает исключение Runtime: ** java.lang.RuntimeException: этот тост не был создан с помощью Toast.makeText() ** –
Добавить этот код в свою деятельность (глобальный тост) и отменить его, если хотите показать новый текст.
Toast myLovelyToastThatNeverDies;
public void onClick(View v) {
if(myLovelyToastThatNeverDies==null)
myLovelyToastThatNeverDies = new Toast(Activity.this);
else
myLovelyToastThatNeverDies.cancel();
myLovelyToastThatNeverDies.setText("my new text");
myLovelyToastThatNeverDies.setDuration(anAverageDuration);
myLovelyToastThatNeverDies.show();
}
проверка [это] (http://stackoverflow.com/questions/5295765/toast-issue-in-android/5295800#5295800) – silwar
как я могу проверить, если мой тост по-прежнему на экране? – edi233
, когда вы показываете тост на таймере начала экрана, который имеет то же, что и продолжительность, указанная для тоста, если вы вызываете шоу тост снова, а затем проверяйте таймер. если он все еще работает, тост все еще присутствует на экране – silwar