Dialog簡單範例

dialog很常用,所以記下來一個比較好用,容易理解的小例子作爲筆記

LayoutInflater factory = LayoutInflater
                    .from(PurchaseDetailsActivity.this);// 提示框
            final View view = factory.inflate(R.layout.dialog_purchase_details,
                    null);// 這裏必須是final的

給裏面的控件找ID

et_farm = (EditText) view.findViewById(R.id.et_farm_name);// 獲得農場名稱
            et_farm.setText(details.enterprise_name);
            et_farm.setEnabled(true);
            et_lineman = (EditText) view.findViewById(R.id.et_dl_linkman);// 獲得聯繫人
            et_phone = (EditText) view.findViewById(R.id.et_dl_phone);// 獲得電話
            et_price = (EditText) view.findViewById(R.id.et_dl_price);// 獲得價格

new AlertDialog.Builder(PurchaseDetailsActivity.this)
                    // .setTitle("報價信息")
                    // 提示框標題
                    .setView(view)
                    .setPositiveButton(
                            "確定",// 提示框的兩個按鈕
                            new android.content.DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    /**
                                     * 判斷必填項是否爲空
                                     */
                                    isEtEmpty(dialog);
                                }
                            })
                    .setNegativeButton(
                            "取消",
                            new android.content.DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    miss(dialog);
                                }
                            }).create().show();

這個上面的miss是個專門寫的方法

/**
     * 讓dialog消失
     * 
     * @param dialog
     */
    public void miss(DialogInterface dialog) {
        try {
            Field field = dialog.getClass().getSuperclass()
                    .getDeclaredField("mShowing");
            field.setAccessible(true);
            field.set(dialog, true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
發佈了25 篇原創文章 · 獲贊 24 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章