android 各種常用,不易記的dialog,等控件整理

openkk 12年前發布 | 7K 次閱讀 html5未來 Apache Cayenne

package com.su.testalldialog;

import java.util.ArrayList;

import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.Spinner; import android.widget.Toast;

public class TestAllDialogActivity extends Activity { String[] weekdays; Context context;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    context = this;
    weekdays = new String[] { "Sun", "Mon", "Tue", "Wed" };
    Button button1 = (Button) findViewById(R.id.button1);
    Button button2 = (Button) findViewById(R.id.button2);
    Button button3 = (Button) findViewById(R.id.button3);
    Button button4 = (Button) findViewById(R.id.button4);
    Button button5 = (Button) findViewById(R.id.button5);
    Button button6 = (Button) findViewById(R.id.button6);
    button6.setOnClickListener(listener);
    button5.setOnClickListener(listener);
    button1.setOnClickListener(listener);
    button2.setOnClickListener(listener);
    button3.setOnClickListener(listener);
    button4.setOnClickListener(listener);
    initSpinner();
    initAutocompletetextview();

}

private void initAutocompletetextview() {
    AutoCompleteTextView autocompletetextview = (AutoCompleteTextView) findViewById(R.id.autocompletetextview);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,
            android.R.layout.simple_spinner_dropdown_item, weekdays);// 實現簡單的adapter
    autocompletetextview.setAdapter(adapter);
}

private void initSpinner() {
    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    spinner.setOnItemSelectedListener(slistener);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,
            android.R.layout.simple_spinner_item, weekdays);// 實現簡單的adapter
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 實現選項的樣式
    spinner.setAdapter(adapter);
}

private OnItemSelectedListener slistener = new OnItemSelectedListener() {

    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        toast(weekdays[arg2]);

    }

    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub

    }
};

int index = 0;// 用來標記哪一項被選擇
private OnClickListener listener = new OnClickListener() {

    @Override
    public void onClick(View v) {

        Builder dialog = new AlertDialog.Builder(context);
        switch (v.getId()) {

        case R.id.button1:
            dialog.setIcon(R.drawable.ic_launcher);
            dialog.setTitle("簡單選擇對話框");
            dialog.setItems(weekdays,
                    new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog,
                                int which) {
                            toast(weekdays[which]);

                        }
                    });
            dialog.show();
            break;
        case R.id.button2:
            dialog.setIcon(R.drawable.ic_launcher);
            dialog.setTitle("單選對話框");
            dialog.setSingleChoiceItems(weekdays, 1,
                    new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog,
                                int which) {
                            index = which;

                        }
                    });
            dialog.setPositiveButton("是",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {
                            toast(weekdays[index]);
                        }
                    });
            dialog.setNegativeButton("否",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {

                        }
                    });

            dialog.show();
            break;
        case R.id.button3:
            final ArrayList<String> multiWeekadys = new ArrayList<String>();// 選擇的數據放到list中

            dialog.setIcon(R.drawable.ic_launcher);
            dialog.setTitle("復選對話框");
            final boolean[] checkeditems = new boolean[weekdays.length];// 設置一打開時的選擇情況
            dialog.setMultiChoiceItems(weekdays, checkeditems,
                    new DialogInterface.OnMultiChoiceClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog,
                                int which, boolean isChecked) {
                            if (isChecked) {
                                checkeditems[which] = true;// 獲取一個被選中的列表

                            }

                        }
                    });

            dialog.setPositiveButton("是",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {
                            for (int j = 0; j < checkeditems.length; j++) {// 遍歷一遍看那個是選中的
                                if (checkeditems[j]) {
                                    multiWeekadys.add(weekdays[j]);
                                }

                            }

                            toast(multiWeekadys.toString());
                        }
                    });
            dialog.setNegativeButton("否",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {

                        }
                    });
            dialog.show();
            break;
        case R.id.button4:
            dialog.setIcon(R.drawable.ic_launcher);
            dialog.setTitle("簡單警告");
            dialog.setMessage("測試警告");
            dialog.setPositiveButton("是",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {
                            toast("是");

                        }
                    });
            dialog.setNeutralButton("中",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {
                            toast("中");
                        }
                    });
            dialog.setNegativeButton("否",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {

                        }
                    });

            dialog.show();
            break;
        case R.id.button5:
            final EditText et = new EditText(context);
            et.setText("測試");
            dialog.setIcon(R.drawable.ic_launcher);
            dialog.setTitle("簡單警告");
            dialog.setMessage("測試警告");
            dialog.setView(et);
            dialog.setPositiveButton("是",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {
                            toast(et.getText().toString());

                        }
                    });
            dialog.setNeutralButton("中",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {
                            toast("中");
                        }
                    });
            dialog.setNegativeButton("否",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {

                        }
                    });

            dialog.show();
            break;
        case R.id.button6:

            final ImageView im = new ImageView(context);
            im.setImageResource(R.drawable.ic_launcher);

            dialog.setIcon(R.drawable.ic_launcher);
            dialog.setTitle("簡單警告");
            dialog.setMessage("測試警告");
            dialog.setView(im);

            dialog.setPositiveButton("是",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {

                        }
                    });
            dialog.setNeutralButton("中",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {
                            toast("中");
                        }
                    });
            dialog.setNegativeButton("否",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int i) {

                        }
                    });

            dialog.show();
            break;

        default:
            break;
        }

    }
};

private void toast(String msg) {
    Toast.makeText(context, msg, 10).show();

}

}</pre>

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!