Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> [Android-006][對話框]

[Android-006][對話框]

編輯:關於Android編程

 


對話框

確定取消對話框

創建對話框構建器對象,類似工廠模式
        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();

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved