程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-創建一個自定義的 Toast view

android-創建一個自定義的 Toast view

編輯:編程綜合問答
創建一個自定義的 Toast view

我想創建一個自定義的 Toast view:

public class SMSToast extends Activity {
    public void showToast(Context context, String message) {
        LayoutInflater inflater = getLayoutInflater();
        View layout = inflater.inflate(R.layout.toast_sms, (ViewGroup)findViewById(R.id.toast_sms_root));
        TextView text = (TextView) layout.findViewById(R.id.toast_sms_text);
        text.setText(message);
        Toast toast = new Toast(context);
        toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
        toast.setDuration(Toast.LENGTH_LONG);
        toast.setView(layout);
        toast.show();
    }
}

在 onReceive 方法的 BroadcastReceiver 中設置:

SMSToast toast = new SMSToast();
                        toast.showToast(context, 
                                        "Received SMS from: " + msg_from + 
                                        " Content: " + msgBody);

但是當代碼被調用時,沒有顯示信息。如果我使用 Toast,text顯示。
哪裡出錯呢?

最佳回答:


SMSToast對象繼承的是Activity,應該繼承Toast
showToast裡面LayoutInflater獲取:
LayoutInflater inflate = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
應該是這樣了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved