?
?
?
?
?
?
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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

