【Android】對話框


1.警告對話框

button.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
				builder.setTitle("提示");
				builder.setMessage("你確定要刪除嗎?");
				builder.setIcon(R.drawable.ic_launcher);
				builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						//完成用戶的操作,提交請求
						dialog.dismiss();
					}
				});
				builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						//取消用戶操作
						dialog.dismiss();
					}
				});
				
				builder.setNeutralButton("忽略", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						//忽略用戶操作
					}
				});
				AlertDialog alertDialog = builder.create();
				alertDialog.show();
			}
		});


2.列表對話框


button2.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
				builder.setTitle("請選擇以下城市");
				//builder.setMessage("請選擇以下城市");//不能設置msg的內容
				
				builder.setItems(items, new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						String select_item = items[which].toString();
						Toast.makeText(MainActivity.this, "-->>"+ select_item, Toast.LENGTH_LONG).show();
					}
				});
				AlertDialog alertDialog = builder.create();
				alertDialog.show();
			}
		});

注意不要設置Message


3.單選列表對話框

button3.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
				
				builder.setTitle("請選擇以下城市:");
				
				builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						CharSequence select_items = items[which];
						Toast.makeText(MainActivity.this, select_items, 1).show();
						dialog.dismiss();
					}
				});
				
				AlertDialog dialog  = builder.create();
				dialog.show();
			}
		});



4.多選列表對話框


button4.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
				builder.setTitle("請選擇以下城市:");
				
				//第二個參數可以設置爲空
				//使用Stringuffer追加,中間用逗號分割開
				builder.setMultiChoiceItems(R.array.city, new boolean[] {false,false,false}, new DialogInterface.OnMultiChoiceClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which, boolean isChecked) {
						// TODO Auto-generated method stub
						
					}
				});
				
				builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						//直接獲取dialog的選中情況
					}
				});
				
				AlertDialog dialog = builder.create();
				dialog.show();
			}
		});

注意這裏添加選項列表的方式,採用了資源ID

在String.xml中加入了:

<string-array name="city">
        <item >北京</item>
        <item >上海</item>
        <item >廣州</item>
</string-array>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章