Android中的对话框(AlertDialog)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunshunli/article/details/82973728

创建android中分体式对话框需要四个步骤:

第一:获得AlertDialog的静态内部类Builder对象,有该类创建对话框。

第二:通过Builder对象设置对话框的标题,按钮UI及将要响应的事件。、

第三:调用Builder的Create()方法创建对对话框

第四:调用BUILDER的show()方法显示对话框。

MainActivity.java

public class MainActivity extends Activity {

	// 声明组件
	private TextView tv;
	private Button btn;
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 根据Id获取组件
		tv = (TextView) findViewById(R.id.tv);
		btn = (Button) findViewById(R.id.btn);
		
		// 在按钮上注册监听器
		btn.setOnClickListener(new OnClickListener() {
			// 获得Builder对象
			AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);			
			public void onClick(View v) {
			// 通过builder对象设置对话框信息
			builder.setMessage("真的要删除该记录吗?")
			// 设置确定按钮及其相应事件处理
				.setPositiveButton("是",new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int which) {
								tv.setText("删除成功!"+which);
							}
						})
				// 设置取消按钮及其相应事件处理
				.setNegativeButton("否",new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog,int which) {
								tv.append("取消删除?"+which);
							}
						});
				//含第3个按钮的
			builder.setNeutralButton("忽略", new DialogInterface.OnClickListener(){
			            public void onClick(DialogInterface dialog, int which) {
				           setTitle("点击了对话框的忽略按钮"+which);
			             }
    	            });
			
			// 创建对话框
			AlertDialog ad = builder.create();
			// 显示对话框
			ad.show();
		}
	});
	}
}
avtivity.main



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="edu.qau.ch03_4_dialog.AlertDialog" >

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/delete" />
        
</LinearLayout>

 

猜你喜欢

转载自blog.csdn.net/sunshunli/article/details/82973728