Android通知之單選對話方塊通知

我叫阿狸貓發表於2014-02-12
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>


相關文章