Как очищать текущий toast и вставлять нужный текст
Как очищать текущий toast и вставлять нужный текст
Здравствуйте. Подскажите: как избавиться от очереди в toast и отображать только текущий текст?
Re: Как очищать текущий toast и вставлять нужный текст
Нашёл решение здесь viewtopic.php?f=3&p=2897#p2897
Re: Как очищать текущий toast и вставлять нужный текст
Код: Выделить всё
Toast toast = Toast.makeText(getApplicationContext(),
" Почему не получается сделать это сообщение длительным по времени? " , Toast.LENGTH_SHORT);
toast.setDuration(10000);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
http://developer.android.com/reference/ ... n%28int%29
Есть у Toast метод: public void setDuration (int duration), который у меня не работает.
из файла манифеста:
Код: Выделить всё
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
How long to display the message. Either LENGTH_SHORT or LENGTH_LONG
Тогда зачем этот метод setDuration ?
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Как очищать текущий toast и вставлять нужный текст
Менять константы. Немного нагуглив
[syntax=java5]
NotificationManagerService.scheduleTimeoutLocked() {
...
long delay = immediate ? 0 : (r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY);
...
private static final int LONG_DELAY = 3500; // 3.5 seconds
private static final int SHORT_DELAY = 2000; // 2 seconds
[/syntax]
Ну собственно тут и велосипеды есть
http://stackoverflow.com/questions/2220 ... ength-long
[syntax=java5]
NotificationManagerService.scheduleTimeoutLocked() {
...
long delay = immediate ? 0 : (r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY);
...
private static final int LONG_DELAY = 3500; // 3.5 seconds
private static final int SHORT_DELAY = 2000; // 2 seconds
[/syntax]
Ну собственно тут и велосипеды есть
http://stackoverflow.com/questions/2220 ... ength-long
Re: Как очищать текущий toast и вставлять нужный текст
[quote="no--"][/quote]
У Вас работает? У меня не обращает внимание на длительность в константах.
У Вас работает? У меня не обращает внимание на длительность в константах.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Как очищать текущий toast и вставлять нужный текст
Не понял. У вас при передаче константы Toast.LENGTH_LONG или Toast.LENGTH_SHORT дают одно время показа тоста?
Re: Как очищать текущий toast и вставлять нужный текст
Не работает, когда в Toast передаем свою константу, вместо Toast.LENGTH_LONG или Toast.LENGTH_SHORTno-- писал(а):Не понял. У вас при передаче константы Toast.LENGTH_LONG или Toast.LENGTH_SHORT дают одно время показа тоста?
private static final int LONG_DELAY = 8500; // 8.5 seconds
Длительность показа моей константы сравнима с длительностью Toast.LENGTH_LONG, где-то 2 секунды.
setDuration если устарела, почему в хелпе ничего не сказано об этом?
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Как очищать текущий toast и вставлять нужный текст
А, понял. Вы просто не поняли исходный код Андроида, что я привёл.
Задержка показа рассчитывается по формуле
r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY
или другими словами то значение, что Вы передали в setDuration если равно константе Toast.LENGTH_LONG , то продолжительность показа тоста будет равна LONG_DELAY (т.е. 3.5. секунды), иначе (во всех других случаях, будь то Toast.LENGTH_SHORT, либо значение 100500) задержка будет идти равная константе SHORT_DELAY, т.е. две секунды.
Отсюда вывод что своё значение поставить нельзя. Метод setDuration работает, но работает он для смены этих двух констант и не более. Представьте что это тумблер. вкл/выкл.
Задержка показа рассчитывается по формуле
r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY
или другими словами то значение, что Вы передали в setDuration если равно константе Toast.LENGTH_LONG , то продолжительность показа тоста будет равна LONG_DELAY (т.е. 3.5. секунды), иначе (во всех других случаях, будь то Toast.LENGTH_SHORT, либо значение 100500) задержка будет идти равная константе SHORT_DELAY, т.е. две секунды.
Отсюда вывод что своё значение поставить нельзя. Метод setDuration работает, но работает он для смены этих двух констант и не более. Представьте что это тумблер. вкл/выкл.
