在《Android Studio中AlertDialog的使用方法4-1》和
《Android Studio中AlertDialog的使用方法4-2》中提到,可以通过AlertDialog类的静态内部类builder设置对话框的标题、内容、图标以及布局。除了以上内容外,还可以通过builder为对话框添加按键,主要可以添加三种按键,分别是PositiveButton、NegativeButton和NeutralButton。
1 添加PositiveButton
通过builder调用setOnPositiveButton()方法为对话框添加PositiveButton,代码如图1所示。
图1 setOnPositiveButton()方法
图1①中的setOnPositiveButton()的第一个参数指定了在PositiveButton上显示的内容,第二个参数是DialogInterface.OnClickListener接口的对象,作为PositiveButton按键的监听器,本代码中使用new创建了一个DialogInterface.OnClickListener接口的匿名内部类。
相关链接1 DialogInterface.OnClickListener接口,是DialogInterface接口定义的内部静态接口。当dialog被点击后,可以通过DialogInterface.OnClickListener接口调用接口的onClick()方法。
图1②中的onClick()方法为DialogInterface.OnClickListener接口中定义的方法,当PositiveButton被点击后,onClick()方法就会被调用。该方法的第一个参数dialog表示指定了被点击的对话框,第二个参数which表示对话框上被点击的按键ID。
以上代码的作用是在对话框中创建一个PositiveButton,当点击该按键时,会显示Toast信息,如图2所示。
图2 PositiveButton
2 添加NegativeButton
通过builder调用setOnNegativeButton()方法为对话框添加NegativeButton,代码如图3所示。
图3 setOnNegativeButton()方法
setOnNegativeButton()方法与“1 添加PositiveButton”中提到的setOnPositiveButton()方法相同,其运行效果如图4所示。
图4 NegativeButton
3 添加NeutralButton
通过builder调用setOnNeutralButton()方法为对话框添加NeutralButton,代码如图5所示。
图5 setOnNeutralButton()方法
setOnNeutralButton()方法与“1 添加PositiveButton”中提到的setOnPositiveButton()方法相同,其运行效果如图6所示。
图6 NeutralButton
4 三个按键的区别
对于以上提到的PositiveButton、NegativeButton和NeutralButton三个按键,点击后都可以调用相应的监听器,并且可以使得所在的对话框消失,不同之处在于三个按键所处的位置不同,如图7所示。
图8 三个按键位置