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

我叫阿狸貓發表於2014-02-12
private String[] items = {"熱血傳奇","魔獸世界","跑跑卡丁車"};
boolean[] checkedItems = {true,true,true};//用於多選是否被選中
//多選通知
public void checkbox(View view){
	OnMultiChoiceClickListener choiceLinstener = new OnMultiChoiceClickListener() {//監聽條目選中,這裡是OnMultiChoiceClickListener
		//which是被選中條目的索引,isChecked表示是否選中
		public void onClick(DialogInterface dialog, int which, boolean isChecked) {
			System.out.println(items[which]+": "+isChecked);
		}
	};
	OnClickListener positiveLinstener = new OnClickListener() {//監聽按鈕
		public void onClick(DialogInterface dialog, int which) {//which是用來區分按鈕的,跟普通通知那三個按鈕一樣
			StringBuilder sb = new StringBuilder();
			for(int i=0;i<checkedItems.length;i++){//就是將選中的結果合併並顯示
				sb.append(checkedItems[i]?items[i]+" ":"");
			}
			Toast.makeText(getApplicationContext(), sb.toString(), Toast.LENGTH_SHORT).show();
		}
	};
	new AlertDialog.Builder(this)//
	.setTitle("多選對話方塊")//
	.setCancelable(true)//這個表示點選手機上的返回鍵是否能取消掉
	.setMultiChoiceItems(items, checkedItems, choiceLinstener)//引數一:條目名字陣列,引數二:條目是否被選中陣列
	.setPositiveButton("確定", positiveLinstener)//
	.show();
}

相關文章