Andriod學習不深奧,經驗全從實踐來
大家都想製作一個Toast的單例,這樣的話我們就不用看到滿屏彈不完的“土司了”,
1、用handler及時的清除現在的這個toast,接受新的然後顯示
2、就是利用toast的單例來進行
第二種方式無疑是最方便,最爲簡單的方式,但是android4.2之後如果你想做Toast單例的話如下圖
public static void showToast(Context context, int text) {
if (toast == null) {
toast = new Toast(context);
}
toast.setDuration(Toast.LENGTH_SHORT);
toast.setText(text);
toast.show();
}
這樣已經給不行了,因爲系統會報錯提示你,Toast was not make from makeText...
那麼如何解決這個問題呢?
應該用這種方式來進行
/**
* 極簡吐司提示
* @param context
* @param text
*/
public static void showToast(Context context, int text) {
if (makeText==null) {
makeText = Toast.makeText(context, "", Toast.LENGTH_SHORT);
}
makeText.setText(text);
makeText.show();
}
再試試,看還有這個問題了嗎?問題就是這麼解決的,對於問題我們應該用正確的做法去不斷的嘗試
轉載請註明出處