alertDialog显示的内容为基本的一个单选项。主要可以使用setItem()方法完成。依赖于一个字符串数组。
案例
R.array.hobby字符串资源文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="hobby">
<item>吃饭</item>
<item>上网</item>
<item>睡觉</item>
<item>LOL</item>
</string-array>
</resources>
java文件
public class MainActivity extends AppCompatActivity {
TextView t1;
String[] hobbys;
AlertDialog alertDialog;
DialogInterface.OnClickListener onClickListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取字符串资源
hobbys = getResources().getStringArray(R.array.hobby);
t1 = (TextView) findViewById(R.id.t1);
//使用事件回调方法
onClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//参数which为选择的字符串数组的下标
t1.setText(hobbys[which]);
}
};
}
public void btn1(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("选择你的爱好");
//使用setItems方法获取一个依赖的字符串数组,以及一个回调的事件
builder.setItems(hobbys, onClickListener);
alertDialog = builder.create();
alertDialog.show();
}
}