android AlertDialog

来源:互联网 发布:借贷本质知乎 编辑:程序博客网 时间:2024/06/06 08:42
package com.itheima74.alertdialog;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.os.SystemClock;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    // 普通对话框    public void showDialog(View v) {        AlertDialog.Builder builder = new AlertDialog.Builder(this);        builder.setIcon(R.mipmap.ic_launcher);        builder.setTitle("警告:");        builder.setMessage("世界上最遥远的距离是没有网络...");        builder.setPositiveButton("确定", null);        builder.setNegativeButton("取消", null);        builder.show();    }    // 单选对话框    public void showSingleDialog(View view) {        AlertDialog.Builder builder = new AlertDialog.Builder(this);        final String[] res = {"android", "ios", "java", "c", "c++"};        builder.setSingleChoiceItems(res, 0, new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                Toast.makeText(MainActivity.this, "选中了:" + res[which], Toast.LENGTH_SHORT).show();                dialog.dismiss();            }        });        builder.show();    }    // 多选对话框    public void showMulDialog(View v) {        AlertDialog.Builder builder = new AlertDialog.Builder(this);        final String[] res = {"android", "ios", "java", "c", "c++"};        // 需要一个中间变量保存当前条目是否选中        final boolean[] buffers = {false, false, false, false, false};        builder.setMultiChoiceItems(res, buffers, new DialogInterface.OnMultiChoiceClickListener() {            @Override            public void onClick(DialogInterface dialog, int which, boolean isChecked) {                Toast.makeText(MainActivity.this, "which:" + which + ",ischecked:" + isChecked, Toast.LENGTH_SHORT).show();                buffers[which] = isChecked;            }        });        builder.setNegativeButton("取消", null);        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                StringBuilder sb = new StringBuilder();                for (int i = 0; i < buffers.length; i++) {                    if (buffers[i]) {                        sb.append(res[i]).append(" ");                    }                }                Toast.makeText(MainActivity.this, "选中了:" + sb.toString(), Toast.LENGTH_SHORT).show();                dialog.dismiss();            }        });        builder.show();    }    // 点击按钮,显示进度条对话框    public void showProgressDialog(View v) {        // 创建一个ProgressDialog        final ProgressDialog progressDialog = new ProgressDialog(this);        // 设置水平        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);        // 设置头像        progressDialog.setIcon(R.mipmap.ic_launcher);        progressDialog.setTitle("显示下载进度:");        progressDialog.setMessage("当前进度...");        // 模拟进度        progressDialog.setMax(100);        new Thread() {            @Override            public void run() {                for (int i = 1; i <= 100; i++) {                    progressDialog.setProgress(i);                    SystemClock.sleep(30);                }                progressDialog.dismiss();                // 告知用户下载完成,主线程运行                runOnUiThread(new Runnable() {                    @Override                    public void run() {                        Toast.makeText(MainActivity.this, "下载完成!", Toast.LENGTH_SHORT).show();                    }                });            }        }.start();        progressDialog.show();    }}

1 0
原创粉丝点击