?
?
?
?
?
?
package com.easyway.android.diaglog; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; /** * Android獲取dialog自定義布局中的控件 中特定的對象比較特殊必須通過 * //獲取布局相關的對象 * LayoutInflater inflater=LayoutInflater.from(this); * //獲取相關的布局 * View layout = inflater.inflate(R.layout.send_email_dialog, (ViewGroup) findViewById(R.id.send_email_dialog_ll)) * final EditText sendEmailCon_ET = (EditText) layout.findViewById(R.id.send_email_dialog_et); * * * @author longgangbai * */ public class CustomDiaglogActivity extends Activity { private final int CUSTOM_DIALOG = 1; private Button diagbtn; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設置當前的布局 setContentView(R.layout.main); //獲取按鈕 diagbtn=(Button)findViewById(R.id.btndiaglog); //設置按鈕的事件 View.OnClickListener dateBtnListener = new BtnOnClickListener(CUSTOM_DIALOG); diagbtn.setOnClickListener(dateBtnListener); } /** * 重寫Activity的方法實現相關的不同 * * 按鈕的實現不同對話框 * * * 想要獲取自定義布局中的控件必須調用你所定義的View的findViewById方法,而不能像獲得其他控件一樣直接調用findViewById方法。。。 */ @Override protected Dialog onCreateDialog(int id) { //自定義對話框 AlertDialog.Builder builder= new Builder(CustomDiaglogActivity.this); //獲取布局相關的對象 LayoutInflater inflater=LayoutInflater.from(this); //獲取相關的布局 View layout = inflater.inflate(R.layout.send_email_dialog, (ViewGroup) findViewById(R.id.send_email_dialog_ll)); //設置相關的視圖 builder.setView(layout); //設置標題 builder.setTitle("反饋意見"); //確定按鈕的操作 builder.setPositiveButton("確認",new OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { //銷毀對話框 dialog.dismiss(); CustomDiaglogActivity.this.finish(); } }); //取消按鈕的操作 builder.setNegativeButton("取消",new OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); return builder.create(); } /** * 成員內部類,此處為提高可重用性,也可以換成匿名內部類 */ private class BtnOnClickListener implements View.OnClickListener { private int dialogId = 0; //默認為0則不顯示對話框 public BtnOnClickListener(int dialogId) { this.dialogId = dialogId; } @Override public void onClick(View view) { showDialog(dialogId); } } }
?
?
send_mail_dialog.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/send_email_dialog_ll" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_height="wrap_content" android:text="To : longgangbai@sina.com" android:layout_gravity="center" android:layout_marginTop="4dp" /> <EditText android:id="@+id/send_email_dialog_et" android:layout_height="wrap_content" android:layout_width="fill_parent" android:inputType="textMultiLine" android:lines="4" android:hint="@string/message" android:scrollbarAlwaysDrawVerticalTrack="true" android:layout_marginTop="9dp"> <requestFocus></requestFocus> </EditText> </LinearLayout>
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
