博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android之对话框、单选,多选,进度条,日期选择对话框,时间选择对话框
阅读量:4290 次
发布时间:2019-05-27

本文共 4349 字,大约阅读时间需要 14 分钟。

 AlertDialog(对话框)是其他 Dialog的的父类!比如ProgressDialog,TimePickerDialog等,而AlertDialog的父类是:Dialog!

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);        fab.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)                        .setAction("Action", null).show();            }        });    }//弹出普通对话框    public  void dialogOne(){        AlertDialog.Builder bu=new  AlertDialog.Builder(this);//注意这里不能用getApplicationContext(),对话框只能用this,this代表当前的activity;bu.setTitle("警告");bu.setMessage("确定给取消");bu.setPositiveButton("确定", new DialogInterface.OnClickListener() {    @Override    public void onClick(DialogInterface dialog, int which) {    }});bu.setNegativeButton("取消", new DialogInterface.OnClickListener() {    @Override    public void onClick(DialogInterface dialog, int which) {    }});bu.show();    }    //单选对话框    public  void dialogtwo(){        AlertDialog.Builder bu=new  AlertDialog.Builder(this);//注意这里不能用getApplicationContext(),对话框只能用this,this代表当前的activity;        bu.setTitle("选择课程");       final  String[] items={"c","c++","c#"};       //-1代表没有选中,0代表第一个       bu.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {           @Override           public void onClick(DialogInterface dialog, int which) {               String  str=items[which];//取对应的数据               dialog.dismiss();//消失对话框           }       });        bu.show();    }    //多选对话框    public  void dialogthree(){        AlertDialog.Builder bu=new  AlertDialog.Builder(this);//注意这里不能用getApplicationContext(),对话框只能用this,this代表当前的activity;        bu.setTitle("选择课程");        final  String[] items={"c","c++","c#"};        final boolean[] boos={true,true,true};//对应上面的items       bu.setMultiChoiceItems(items, boos, new DialogInterface.OnMultiChoiceClickListener() {           @Override           public void onClick(DialogInterface dialog, int which, boolean isChecked) {           }       });       //添加一个确定按钮        bu.setPositiveButton("确定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {//吧选中的数据取出来                for(int i=0;i

===========给对话框设置自定义view============

AlertDialog.Builder builder=new AlertDialog.Builder(this);AlertDialog dialog=builder.create();View contentview=View.inflate(this,R.layout.dialog_enterblackname,null);dialog.setView(contentview,0,0,0,0);dialog.show();

 

日期选择对话框

@Override    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {        super.onViewCreated(view, savedInstanceState);        Calendar cale1 = Calendar.getInstance();        new DatePickerDialog(getActivity(),new DatePickerDialog.OnDateSetListener() {            @Override            public void onDateSet(DatePicker view, int year, int monthOfYear,                                  int dayOfMonth) {                //这里获取到的月份需要加上1哦~             String result = "";     result += "你选择的是"+year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日";                Toast.makeText(getActivity().getApplicationContext(), result, Toast.LENGTH_SHORT).show();            }        }                ,cale1.get(Calendar.YEAR)                ,cale1.get(Calendar.MONTH)                ,cale1.get(Calendar.DAY_OF_MONTH)).show();    }

时间选择对话框

@Overridepublic void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {    super.onViewCreated(view, savedInstanceState);    Calendar cale2 = Calendar.getInstance();    new TimePickerDialog(getActivity(), new TimePickerDialog.OnTimeSetListener() {        @Override        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {         String   result = "";            result += "您选择的时间是:"+hourOfDay+"时"+minute+"分";            Toast.makeText(getActivity().getApplicationContext(), result, Toast.LENGTH_SHORT).show();        }    }, cale2.get(Calendar.HOUR_OF_DAY), cale2.get(Calendar.MINUTE), true).show();}

 

 

转载地址:http://ftmgi.baihongyu.com/

你可能感兴趣的文章
Gradle-gradlew
查看>>
grpc-整合gradle与代码生成
查看>>
grpc-gradle与grpc流程完美整合(3)
查看>>
设计模式-装饰模式(Decorator)
查看>>
git-子模块submodule
查看>>
设计模式-策略模式(Strategy)
查看>>
设计模式-观察者模式(Observer)
查看>>
java浅拷贝(shallow clone)与深拷贝(deep clone)
查看>>
Elasticsearch-terms搜索及结果优化
查看>>
Elasticsearch-对一个field进行多值全文本搜索
查看>>
Elasticsearch-best_fileds和most_fields策略分析以及cross-fields弊端的解决
查看>>
Elasticsearch-近似搜索
查看>>
Elasticsearch-前缀、通配符、正则、模糊搜索详解
查看>>
Elasticsearch-搜索推荐
查看>>
java-nio之Selector组件
查看>>
java-编码解密
查看>>
netty源码分析之-Future、ChannelFuture与ChannelPromise详解(3)
查看>>
redis主从集群的搭建
查看>>
redis cluster集群搭建与深入分析(1)
查看>>
netty源码分析之-引导详解(4)
查看>>