布局文件dialog.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/widget28"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:id="@+id/nameMessage"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="Enter Name:" >    </TextView>    <EditText        android:id="@+id/nameEditText"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:textSize="18sp" >    </EditText>    <LinearLayout        android:id="@+id/buttonLayout"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_gravity="center_horizontal" >        <Button            android:id="@+id/okButton"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="OK" >        </Button>        <Button            android:id="@+id/cancelButton"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="Cancel" >        </Button>    </LinearLayout></LinearLayout>

主窗口布局:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <Button        android:id="@+id/startDialog"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="Button" /></LinearLayout>


主窗口AndroidDialogActivity.java

package com.relin.dialog;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import com.relin.dialog.MyDialog.MyDialogListener;public class AndroidDialogActivity extends Activity implements OnClickListener, MyDialogListener{    /** Called when the activity is first created. */    private Button startButton;        @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        startButton = (Button)findViewById(R.id.startDialog);        startButton.setOnClickListener(this);    }@Overridepublic void onClick(View v) {// TODO Auto-generated method stubMyDialog dialog = new MyDialog(AndroidDialogActivity.this, this);dialog.show();}@Overridepublic void onOkClick(String name) {// TODO Auto-generated method stubSystem.out.println("success~~~~~");}@Overridepublic void onCancelClick() {// TODO Auto-generated method stub}    }


MyDialog.java

package com.relin.dialog;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MyDialog extends Dialog implements OnClickListener{private Button okButton;private Button cancelButton;private EditText nameEditText;private MyDialogListener listener;public MyDialog(Context context, boolean cancelable,OnCancelListener cancelListener) {super(context, cancelable, cancelListener);// TODO Auto-generated constructor stub}public MyDialog(Context context, int theme) {super(context, theme);// TODO Auto-generated constructor stub}public MyDialog(Context context, MyDialogListener listener) {super(context);// TODO Auto-generated constructor stubthis.listener = listener;}@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.dialog);okButton = (Button)findViewById(R.id.okButton);cancelButton = (Button)findViewById(R.id.cancelButton);nameEditText = (EditText)findViewById(R.id.nameEditText);okButton.setOnClickListener(this);}@Overridepublic void onClick(View view) {// TODO Auto-generated method stubswitch (view.getId()) {case R.id.okButton:listener.onOkClick(nameEditText.getText().toString());dismiss();break;case R.id.cancelButton:cancel();break;}}public interface MyDialogListener {public void onOkClick(String name);public void onCancelClick();}}


更多相关文章

  1. Android文件上传
  2. android 之 读取本地json文件返回string
  3. android 数据库更改数据库位置【DbFlow示范】
  4. [Exception Android(安卓)20] - Error:Execution failed for tas
  5. 挂载android只读文件系统为可读写
  6. Android中的GridView图片异步加载
  7. Android(安卓)之 将RAW资源文件写入SD卡工具类
  8. Android(安卓)上传文件[转]
  9. NPM 和webpack 的基础使用

随机推荐

  1. (M)Android消息处理机制分析之Handler类解
  2. [Android] 监听系统网络连接打开或者关闭
  3. 如何裁剪android 系统?
  4. Android(安卓)Studio更新Android(安卓)SD
  5. Android字体表
  6. android 界面自适应屏幕尺寸相关
  7. Android全屏处理
  8. 转:android TextView中超链接的事件捕捉(te
  9. Android(安卓)Studio发布项目到Maven私有
  10. Android(安卓)Audio代码分析 - Audio Str