Android中对话框的使用

来源:互联网 发布:常用的python ide 编辑:程序博客网 时间:2024/06/05 22:37

布局文件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();}}


 

原创粉丝点击