Android中AlertDialog等的使用

package com.example.administrator.imooc;

import android.app.DatePickerDialog;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Toast;

import java.util.Calendar;
/*
* 这个代码是主要学习了三个dialog的使用,以后不会的时候回来看。*/
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private Button setDate,single,muti;
    private AlertDialog alertDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);
        init();
    }
    public  void init(){
        setDate=(Button) findViewById(R.id.btn_setting);
        single=(Button) findViewById(R.id.btn_single);
        muti=(Button) findViewById(R.id.btn_muti);
        setDate.setOnClickListener(this);
        single.setOnClickListener(this);
        muti.setOnClickListener(this);

    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_setting://设置日期
              showDatePickerDialog();
                break;
            case R.id.btn_single://设置单选
               showSingleListDialog();
                break;
            case R.id.btn_muti://设置多选
               showMutiListDialog();
                break;
        }
    }
    public void showDatePickerDialog(){

        Calendar c=Calendar.getInstance();
        /*datepicker的参数*/
        new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                Toast.makeText(MainActivity.this,"日期为:"+
                        year+"年"+(month+1)+"月"+(dayOfMonth)+"日",Toast.LENGTH_SHORT).show();
            }
        },c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH)).show();
    }
    public void showSingleListDialog(){
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setTitle("性别选择");
        builder.setIcon(android.R.drawable.btn_star);
        final String[] sex=getResources().getStringArray(R.array.sex);
        //setSingleChoiceItems(数据资源id,表示默认被选中的item的下标 -1不存在默认选中,
        // 点击单选item的点击事件)
        builder.setSingleChoiceItems(R.array.sex, -1, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                /*toast的时候千万别忘了最后的show*/
                Toast.makeText(MainActivity.this,"您的性别是:"+sex[which],Toast.LENGTH_SHORT).show();
                dialog.dismiss();
            }
        });
        /*一定要写这一句不然前面的都是白写*/
        builder.create().show();

    }
    public void showMutiListDialog(){
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setTitle("选择你的爱好");
        builder.setIcon(android.R.drawable.btn_star);
        final String[] loves=getResources().getStringArray(R.array.loves);//获取爱好的列表
        final boolean[] checkedItems=new boolean[loves.length];
        //setMultiChoiceItems(数据元的资源id,boolean类型数组 默认被选中 true选中 false未选中
         builder.setMultiChoiceItems(R.array.loves, checkedItems,
                 new DialogInterface.OnMultiChoiceClickListener() {
             @Override
             public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                 checkedItems[which]=isChecked;
                // Toast.makeText(MainActivity.this,"您的爱好是:"+loves[which],Toast.LENGTH_SHORT).show();
             }
         });
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            /*因为有多个选项,所以通过一个列表把所有的选项都存起来,最后输出*/
            public void onClick(DialogInterface dialog, int which) {
                StringBuilder sb=new StringBuilder();
                for(int i=0;i<checkedItems.length;i++){
                    if(checkedItems[i]){
                        sb.append(loves[i]);
                        sb.append("\n");
                    }
                }
                Toast.makeText(MainActivity.this,"您的爱好是:"+sb.toString(),Toast.LENGTH_SHORT).show();
            }
        });
        builder.create().show();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值