面试题1:Android 的标准对话框最多可以有几个按钮,并写出显示对话框按钮的方法。
解析:标准对话框是指使用AlertDiaglog创建并显示的对话框。AlertDialog类提供了相应的方法来现实与其对应的按钮。在此可以将AlertDialog.Builder类提供了另外3个显示按钮的方法。
答案;Android的标准对话框最多可以有3个按钮。AlertDialog类显示了这三个按钮的方法是setButton、setButton2和setButton3。另外AlertDialog.Builder类也提供了另外三个更直观的显示按钮方法的调用顺序可以是任意的,但无论调用顺序是什么,使用setPositiveButton方法设置的按钮总会排在左起第1位,使用setNeutralButton(setButton2)方法设置的按钮总会排在左起第2位,使用setNegativeButton(setButton3)方法设置的按钮总会排在左起第3位。如果未调用某一个方法,则与其对应的按钮不显示。
面试题2:如何响应android标准对话框按钮单击事件,并举例说明。
答案:通过AlertDialog.setButton、setNeutralButton(setButton2) 和setNegativeButton(setButton3) 方法可以设置按钮单机事件监听对象,例如,下面的代码响应了第1个按钮的单击事件。
new AlertDialog.Builder(this).setTitle("我的对话框").setPositiveButton("关闭",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//响应按钮单击事件的代码
}
}).show();
面试题3:如何只使用AlertDialog,而不使用外部布局的情况下在对话框中显示一个列表(列表项只包含一行文字,数据源是String[] 类型的值),并响应每一个列表项的单击事件?
答案:使用AlertDialog.Builder.setItems方法可以将一个String数组以列表形式显示在对话框中,代码如下:
import android.app.Activity;
import android.app.AlertDialog;