Android基础------高级ul:消息对话框

前言:Android消息对话框提示笔记,刚刚接触Android

1.经典模式

//列表对话框
    //经典模式
    public void listdialog_01(View view){
        final String[]  items={"AAA","BBB","CCC","DDD"};
        new AlertDialog.Builder(this)
                .setTitle("列表消息01")
                //图片
                .setIcon(R.mipmap.qq)
                //设置选择项
                .setItems(items, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        // i 是数组索引值
                        Toast.makeText(DraperyActivity.this,"你点的:"+items[i],Toast.LENGTH_SHORT).show();
                    }
                })
                .show();
    }

2.单选按钮模式

因为选择某个选项的时候,对话框并不会自己关闭,所以要加上个按钮,让对话框关闭

//列表对话框
    //单选模式
    public void listradiodialog_01(View view){
        final String[]  items={"AAA","BBB","CCC","DDD"};
        new AlertDialog.Builder(this)
                .setTitle("单选列表消息")
                //图片
                .setIcon(R.mipmap.qq)
                //设置单选按钮,默认选择索引为0的选项,
                .setSingleChoiceItems(items,0, null)
                //放置一个按钮,
                .setPositiveButton("确定", null)
                .show();
    }

 

 3.复选框模式

这里就让视图一打开就就创建好这个复选框,当我们点击按钮的时候就直接show出来

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

        createlistcheckboxdialog_01();
}
 //先行创建好
    public void createlistcheckboxdialog_01(){
        final String[]  items={"AAA","BBB","CCC","DDD"};
        dia = new AlertDialog.Builder(this)
                .setTitle("复选列表消息")
                //图片
                .setIcon(R.mipmap.qq)
                //设置复选按钮,默认选择第3个,
                .setMultiChoiceItems(items, new boolean[]{false, false, true, false}, new DialogInterface.OnMultiChoiceClickListener() {
                    /**
                     *
                     * @param dialogInterface
                     * @param i 点击项的索引
                     * @param b 是否被选中
                     */
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                        Toast.makeText(DraperyActivity.this,"你点击的是第"+(i+1)+"项:"+items[i]+b,Toast.LENGTH_SHORT).show();
                    }
                })
                //放置一个按钮,用于关闭对话框
                .setPositiveButton("确定", null)
                .create();
    }


    //列表对话框
    //复选框模式
//点击直接调用
public void listcheckboxdialog_01(View view){ dia.show(); }

4.时间选择框

  TimepickerDialog用于选择时间,是系统封装好的

  • 第一个参数接受一个context信息
  • 第二个参数为当选择时间完成后执行的回调接口
  • 第三个参数和第四个参数为初始化的时间
  • 第四个参数选择true代表24小时制,false代表12小时制
TimePickerDialog dialog= new TimePickerDialog(Context context, OnTimeSetListener listener, int hourOfDay, int minute, boolean is24HourView)

demo:


private EditText workTime;
//时间对话框
    public void test(View view){
        //构建一个日历对象
        Calendar cal=Calendar.getInstance();//当前日期
        TimePickerDialog dialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker timePicker, int i, int i1) {
                String time=i+":"+i1;
                workTime.setText(time);
            }
        },cal.get(Calendar.HOUR)+1,cal.get(Calendar.MINUTE),true);
        dialog.show();

    }

 5.日期选择

  DatePickerDialog用于选择日期,也是系统封装好的

  • 第一个参数接受context信息
  • 第二个参数为日期选择完成后的回掉接口
  • 最后三个参数分别为初始化的年月日
 DatePickerDialog dialcog=new DatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth)
private EditText intime;
 //日期对话框
    public void test_5(View view){
        //构建一个日历对象
        Calendar cal=Calendar.getInstance();//当前日期  
        //2个月后今天的日期
        //cal.add(Calendar.MONTH,2);
        DatePickerDialog dialog=new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int i, int i1, int i2) { 
                intime.setText(i+"-"+(i1+1)+"-"+i2);
                intime.setSelection(intime.getText().length());
            }
        },cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DATE));
        dialog.show();
    }
原文地址:https://www.cnblogs.com/jyiqing/p/7929352.html