AlertDialog与FragmentDialog

本文详细介绍了AlertDialog和FragmentDialog的使用方法,包括如何定义、自定义界面及解决设备旋转消失的问题。通过实例代码,展示了创建对话框的过程,并提供了一种在旋转后仍能保持显示的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、关于AlertDialog

  1.1  如何定义

                AlertDialog不可以直接使用new进行创建,需要借助与AlertDialog.Builder进行创建。

                具体代码如下所示:

new AlertDialog.Builder(getActivity())//返回一个AlertDialog.Builder对象
   .setTitle("标题")//dialo的标题
    .setMessage("datePicker")//dialog中的内容
    .setPositiveButton("OK", null)//设置确定按钮
   .create()//返回AlertDialog对象

  1.2  自定义界面

     主要是调用 setView()方法,具体代码如下

new AlertDialog.Builder(getActivity()).setTitle("标题")
    .setView(datePicker)//--------这个是设置的自定义的View
    .create();

  1.3  会出现的问题

        AlertDialog设备旋转后会消失,为了解决这个问题,可以考虑使用FragmentDialog

2、关于FragmentDialog

    具体的实现步骤如下

    1、写一类 extends DialogFragment

    2、重写 onCreateDialog方法,如下所示:

public class DatePickerDialogFragment extends DialogFragment{
 @Override
 @NonNull
 public Dialog onCreateDialog(Bundle savedInstanceState) {
  DatePicker datePicker = new DatePicker(getActivity());
  return new AlertDialog.Builder(getActivity()).setTitle("标题")
    .setView(datePicker)
    .setPositiveButton("OK", null).create();
 }
}

   3、在调用的时候使用  使用此DialogFragment的show(FragmentManager/FragmentTransaction  ,String tag)方法

    如下所示:

DatePickerDialogFragment datePickerDialogFragment = new DatePickerDialogFragment();
datePickerDialogFragment.show(DialogActivity.this.getSupportFragmentManager(),"tag");

 

今天的贴图:

每一天贴一些可爱的gif图片,让自己看了很happy

 

转载于:https://my.oschina.net/u/2253892/blog/476188

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值