【Android-006】【ダイアログ】


プロジェクトソースのダウンロード
ダイアログ
OKキャンセルダイアログ
  • ダイアログボックスビルダーオブジェクトを作成します.ファクトリモード
  • と似ています.
            AlertDialog.Builder builder = new Builder(this);
  • タイトルと本文
  • を設定
            builder.setTitle("  ");
            builder.setMessage("    ,    ");
  • 確定キャンセルボタン
  • を設定する.
            builder.setPositiveButton("    ", new OnClickListener() {
    
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    Toast.makeText(MainActivity.this, "       ,      ", 0).show();
                }
            });
    
            builder.setNegativeButton("    ", new OnClickListener() {
    
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    Toast.makeText(MainActivity.this, "    ,     ", 0).show();
                }
            });
  • コンストラクタを使用してダイアログオブジェクト
  • を作成する.
            AlertDialog ad = builder.create();
            ad.show();

    ラジオダイアログ
            AlertDialog.Builder builder = new Builder(this);
            builder.setTitle("      ");
  • ラジオ・オプションの定義
  •         final String[] items = new String[]{
                    " ", " ", "  "
            };
            //-1        
            //             
            builder.setSingleChoiceItems(items, -1, new OnClickListener() {
    
                //which           
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Toast.makeText(MainActivity.this, "    " + items[which], 0).show();
                    //     
                    dialog.dismiss();
                }
            });
    
            builder.show();

    複数選択ダイアログ
            AlertDialog.Builder builder = new Builder(this);
            builder.setTitle("          ");
  • は、複数選択可能なオプションを定義します.複数選択可能なため、
  • が選択されたオプションを記録するためにboolean配列が必要です.
            final String[] items = new String[]{
                    "   ",
                    "   ",
                    "   ",
                    "  "
            };
            //true            
            final boolean[] checkedItems = new boolean[]{
                    true,
                    false,
                    false,
                    false,
            };
            builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {
    
                //      ,           ,    isChecked   true
                @Override
                public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                    checkedItems[which] = isChecked;
                }
            });
    
            builder.setPositiveButton("  ", new OnClickListener() {
    
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    StringBuffer sb = new StringBuffer();
                    for(int i = 0;i < items.length; i++){
                        sb.append(checkedItems[i] ? items[i] + " " : "");
                    }
                    Toast.makeText(MainActivity.this, sb.toString(), 0).show();
                }
            });
            builder.show();