AndroidのAlertDialogダイアログ

3828 ワード

/**
 *                   
 */
public class MainActivity extends Activity {


	private int index = 0;


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}


	/*
	 *      :        /              /    ,         ,          null
	 */
	public void showText(View view) {
		// 1.      ----AlertDialog      
		Builder builder = new AlertDialog.Builder(MainActivity.this);
		// 2.        
		builder.setMessage("     ?");//      
		builder.setIcon(R.drawable.ic_launcher);//   
		builder.setTitle("  ");//       
		//     (  )  
		builder.setPositiveButton("  ", new OnClickListener() {


			@Override
			public void onClick(DialogInterface dialog, int which) {
				//            
				Toast.makeText(MainActivity.this, "       ", 0).show();
			}
		});
		//     (  )  
		builder.setNegativeButton("  ", null);
		// 3.     
		builder.show();
		// builder.create().show();
	}


	/*
	 *        :
	 */
	public void showSingle(View view) {
		// 1.  dialog      
		Builder builder = new AlertDialog.Builder(MainActivity.this);
		// 2.        
		builder.setTitle("     ");
		builder.setIcon(R.drawable.ic_launcher);
		/**
		 * items:    ----   checkedItem :           listener:    
		 */
		final String[] items = { " ", " ", " " };
		builder.setSingleChoiceItems(items, 0, new OnClickListener() {
			/*
			 * which:        
			 */
			@Override
			public void onClick(DialogInterface dialog, int which) {
				index = which;
			}
		});
		builder.setPositiveButton("  ", new OnClickListener() {


			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(MainActivity.this, "   :" + items[index], 0)
						.show();
			}
		});


		// 3.     
		builder.show();
	}


	/*
	 *      
	 */
	public void showMore(View view) {
		// 1.     
		Builder builder = new AlertDialog.Builder(MainActivity.this);
		// 2.        
		builder.setTitle("     :");
		/**
		 * items:         
		 * checkedItems:          
		 * listener:    
		 */
		final String[] items= {"  ","  ","   ","   ","   "}; 
		final boolean[] checkedItems={false,true,false,true,false};
		builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which, boolean isChecked) {
				//          ,,,           ,,,             
			}
		});
		builder.setPositiveButton("  ", new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//        
				for (int i = 0; i < checkedItems.length; i++) {
					if (checkedItems[i]) {//  
						Toast.makeText(MainActivity.this, "   :"+items[i], 0).show();
					}
				}
			}
		});
		//3.  
		builder.show();
	}
	/*
	 *          :         /               /      ,   dialog.show()/        dialog.dismiss();
	 */
	public void showMine(View view){
		//1.       
		Builder builder = new AlertDialog.Builder(MainActivity.this);
		//2.       ,,,      AlertDialog   
		final AlertDialog dialog = builder.create();
		//3.  AlertDialog   ,,,        (    )
		View contentView = View.inflate(MainActivity.this, R.layout.dialog_layout, null);	
		dialog.setView(contentView);
		//4.        ,,,     ,,,         ,      
		Button btn = (Button) contentView.findViewById(R.id.btn);
		final EditText edit_text = (EditText) contentView.findViewById(R.id.edit_text);
		btn.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				Toast.makeText(MainActivity.this, edit_text.getText().toString(), 0).show();
				//        ,,,            
				dialog.dismiss();
			}
		});
		//5.     
		dialog.show();
	}
}