首先要能弹出一个提示框,在按钮里加个点击事件,再在MainActivity里实现这个事件。
public void popdialog(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(this);//提示框的实例化用的是builder //这点和别的实例化不一样,实例化以后,再设置相关参数 builder.setIcon(R.drawable.ic_baseline_account_balance_24)//图标 .setTitle("这是对话框")//标题 .setMessage("这是一个对话框,这里可以说很多")//下面的内容,可用可无 .setView(getLayoutInflater().inflate(R.layout.dialog_view,null))//这个是在这个提示框里 //又添加了其它的布局,要提前创建一个布局,然后,在提示框里可以载入这个布局,做一些 //比较复杂的操作,然后再用setView()来调用这个布局,我是放到一起了。 .setPositiveButton("ok", new DialogInterface.OnClickListener() { @Override//这个是加入一个ok按钮,再添加事件 public void onClick(DialogInterface dialog, int which) { Log.e(TAG, "onClick: by OK" ); } }) .setNegativeButton("cancel", new DialogInterface.OnClickListener() { @Override//这个是加入一个cancel按钮,再添加事件 public void onClick(DialogInterface dialog, int which) { Log.e(TAG, "onClick: by cancel" ); } }) .setNeutralButton("middle", new DialogInterface.OnClickListener() { @Override//这个是加入一个middle按钮,再添加事件 public void onClick(DialogInterface dialog, int which) { Log.e(TAG, "onClick: by middle" ); } }); builder .create()//创建提示框 .show();//显示提示框
也可以把.create()和.show()放到上面的builder里一起,但是,因为其它的函数返回的值都是builder,而create()返回的是alertdialog类型,而show()返回的是void类型,所以,这两个方法要放到最后!