Wyświetlam sobie Toasta w klasie dziedziczącej po SurfaceView w taki sposób
if(last_toast!=null)last_toast.cancel();
Toast toast = Toast.makeText(cnt, "Value: "+df.format(wartt)+" Time: "+czas,200);
toast.show();
last_toast=toast;
Co ma spowodować że jeżeli poprzedni wyświetlony tościk jest aktywny, to najpierw go przerwij a dopiero później wyświetlaj.
cnt to zmienna typu Context ustawiana przez metodę wywołaną w Activity poprzez getApplicationContext().
Na Telefonach działa, na Tablecie nie (telefon Android 4.1.1 Tablet 4.0.4)
Spróbowalem też w taki sposób że stworzyłem w Activity funkcje wyświetl tosta
public Toast pokazTosta(String text, int dl){
Toast toast = Toast.makeText(getApplicationContext(), text, dl);
toast.show();
return toast;
}
i wygląda wywołanie wtedy tak:
if(last_toast!=null)last_toast.cancel();
last_toast=ma.pokazTosta("Value: "+df.format(wartt)+" Time: "+czas, 200);
gdzie ma to referencja do Activiti, ale ponownie na telefonie działa na Tablecie nie.
Czy to kwestia wersji Androida( chcociaż nie dogrzebałem się nigdzie do info na ten toastów w poszczególnych wersjach....)
całość wyświetlania Toast-a odbywa się w przeciążonej metodzie onTouchEvent jeżeli ma to jakieś znaczenie :)
z gory dzięki za pomoc
Wojtek