Android通知之单选对话框通知

int selectedIndex = -1;
//单选通知
public void radio(View view){
	OnClickListener choiceLinstener = new OnClickListener() {//这个是监听item
		public void onClick(DialogInterface dialog, int which) {//which是被选中item的索引
			selectedIndex = which;//用全局变量记录下来权重的item索引,供按钮监听方法调用并显示
		}
	};
	OnClickListener positiveLinstener = new OnClickListener() {//这个是监听按钮的
		public void onClick(DialogInterface dialog, int which) {//which是用来区分按钮的,跟普通通知那三个按钮一样
			//根据selectedIndex是否从-1改变为其他值判断是否选中值,因为全局变量selectedIndex初始值为-1
			Toast.makeText(getApplicationContext(), selectedIndex==-1?"没有选中":getResources().getStringArray(R.array.items)[selectedIndex], Toast.LENGTH_SHORT).show();
			selectedIndex = -1;
		}
	};
	new AlertDialog.Builder(this)//
	.setTitle("单选对话框")//
	.setCancelable(true)//这个表示点击手机上的返回键是否能取消掉
	.setSingleChoiceItems(R.array.items,-1, choiceLinstener)//第一个参数写items
	.setPositiveButton("确定", positiveLinstener)//
	.show();
}

string.xml

<string-array name="items">
    <item >魔兽世界wow</item>
    <item >热血传奇</item>
    <item >跑跑卡丁车</item>
</string-array>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值