package com.example.androiddemos.home;import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnDismissListener;
import android.os.Bundle;
import android.widget.EditText;import com.example.androiddemos.R;public class CustomerDialog extends Dialog implements OnDismissListener{

private EditText et;

private ContentListener listener;

public CustomerDialog(Context context, int theme, ContentListener listener) {
super(context, theme);
this.listener = listener;
} protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.root_setting_dlg);
et = (EditText) findViewById(R.id.et);
this.setOnDismissListener(this);
} @Override
public void onDismiss(DialogInterface dialog) {
// TODO Auto-generated method stub
final String content = et.getText().toString();
if(content.isEmpty()) {
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setMessage("Do you want save the content : " + content);
builder.setPositiveButton("Ok",  
                new DialogInterface.OnClickListener() {  
                    public void onClick(DialogInterface dialog, int whichButton) {  
                     listener.saveContent(content);
                    }
                });  
        builder.setNegativeButton("Cancel",  
                new DialogInterface.OnClickListener() {  
                    public void onClick(DialogInterface dialog, int whichButton) {  
                    }  
                });  
        builder.show();
}

public interface ContentListener {
public void saveContent(String content);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dip"
    android:orientation="horizontal" >    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginRight="5dip"
        android:text="其它" >
    </TextView>    <EditText
        android:id="@+id/et"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_horizontal"
        android:ems="5"
        android:numeric="decimal"
        android:singleLine="true" >
    </EditText></LinearLayout>/////////////////////////////// mainActivity
package com.example.androiddemos.home;import android.app.Dialog;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;import com.example.androiddemos.R;
import com.example.androiddemos.home.CustomerDialog.ContentListener;public class DialogDemoActivity extends ActionBarActivity implements ContentListener {

private Button action; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog_demo);
}

public void showDialog(View view) {
Dialog dg = new CustomerDialog(this,android.R.style.Theme_NoTitleBar_Fullscreen, this);
dg.show();
} @Override
public void saveContent(String content) {
// TODO Auto-generated method stub
Toast.makeText(this, "save " + content, Toast.LENGTH_LONG).show();
}}