2024年4月1日发(作者:)
android 显示单选列表对话框 gleChoiceItems
通过r类的setSingleChoiceItems方法可以创建带单按钮的列
表:方法如下:1、从资源文件中装载数据:public Builder setSingleChoiceItems(int
itemsId, int checkedItem, final OnClickListener listener)2、从数据集中装载数据public
Builder setSingleChoiceItems(Cursor cursor, int checkedItem, String labelColumn,
final OnClickListener listener)3、从字符串数组中装载数据public Builder
setSingleChoiceItems(CharSequence[] items, int checkedItem, final
OnClickListener listener)4、从ListAdapter对象中装载数据public Builder
setSingleChoiceItems(ListAdapter adpater, int checkedItem, final OnClickListener
listener) package choiceitemstest; import
ty;import ialog;import
Interface;import ;import
r;import ;import
kListener;import ;import
; public class SingleChoiceItemsTest extends Activity
implements OnClickListener{ private String[] province = new String[] { "上海", "
北京", "湖南", "湖北", "海南" }; private Button btnSingleChoiceList; // 单击事
件对象的实例 private ButtonOnClick buttonOnClick = new ButtonOnClick(1);
/** Called when the activity is first created. */ @Override public void
onCreate(Bundle savedInstanceState)
{ te(savedInstanceState);
setContentView(); btnSingleChoiceList = (Button)
findViewById(gleChoice);
lickListener(this); } @Override public void
onClick(View v) { showSingleChoiceButton(); } // 在单选选项中显
示 确定和取消按钮 //buttonOnClickg变量的数据类型是ButtonOnClick,一个单击
事件类 private void showSingleChoiceButton() { r
builder = new r(this); le("请选择省份");
gleChoiceItems(province, 0, buttonOnClick);
itiveButton("确定", buttonOnClick);
ativeButton("取消", buttonOnClick); (); }
private class ButtonOnClick implements kListener
{ private int index; // 表示选项的索引 public ButtonOnClick(int
index) { = index; } @Override
public void onClick(DialogInterface dialog, int which) { // which
表示单击的按钮索引,所有的选项索引都是大于0,按钮索引都是小于0的。 if
(which >= 0) { //如果单击的是列表项,将当前列表项的索
引保存在index中。 //如果想单击列表项后关闭对话框,可在此处调用
() //或是用s()方法。 index =
which; } else { //用户单击的是【确定】
按钮 if (which == _POSITIVE)
{ //显示用户选择的是第几个列表项。 final
AlertDialog ad = new
r( ).setMes
sage( "你选择的地区是:" + index + ":" +
province[index]).show(); //五秒钟后自动关闭。
Handler hander = new Handler(); Runnable runnable = new
Runnable() { @Override
public void run()
{ s(); } };
layed(runnable, 5 * 1000); } //用户单击
的是【取消】按钮 else if (which == _NEGATIVE)
{ xt(, "你没有选择任何东
西",
_LONG); } } } }}


发布评论