Android 之 列表对话框
程序员文章站
2022-05-16 23:35:23
...
列表对话框:在对话框中以列表的形式显示;
使用知识点:builder.setItems(参1,参2);
参1:列表的内容(一般为一个数组/集合 或者引用数组资源)
参2:列表中元素的点击事件;
案例:使用列表对话框显示专业信息;
资源文件如下:
<!-- 使用数组资源初始化对话框中的数据 -->
<string-array name="arr_professional"> <item>android</item> <item>.net</item> <item>java</item> <item>c/c++</item> </string-array>
java代码如下:
package com.example.notebook_dialog_two;
[size=small][b]
import android.app.Activity; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; /* 列表对话框测试 */ /* 效果实现:点击一个按钮, 弹出一个对话框,该对话框中以列表的形式显示一组数据 */ public class List_dialog extends Activity { private Builder builder = null; private Button list_dialog_btn = null; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.list_dialog); /* 应用创建的时候就实例化一个对话框的对象 */ builder = new Builder(this); /* 通过findViewById(); 获取组件的对象 */ list_dialog_btn = (Button) findViewById(R.id.testRadioBtn); /* 按钮的点击事件 */ list_dialog_btn.setOnClickListener(listener); } /* View 的点击事件:*//* 事件的动作:弹出对话框 */ OnClickListener listener = new OnClickListener() { public void onClick(View v) { String[] arr = getResources().getStringArray(R.array.arr_professional); builder.setTitle(getResources().getString(R.string.professional)); builder.setIcon(R.drawable.ic_launcher); /* 设置列表数据,并编写列表数据行的点击事件 */ builder.setItems(arr, new DialogInterface.OnClickListener() { /* 该事件动作:提示用户选择的专业信息 */ public void onClick(DialogInterface dialog, int which) { String temp = getResources().getStringArray(R.array.arr_professional)[which]; Toast.makeText(List_dialog.this, "您选择的专业时:"+temp, 1000).show(); } }); /* 创建并显示 */ builder.create().show(); } }; }[/b][/size]
效果图如下: