• android学习九 对话框碎片


    1.android的对话框是异步的,对话框创建后马上执行下面的代码。好处:

     
       a.通过实现对话框的回调方法反馈用户与对话框的交互。
       b.能够在代码中清楚对话框。
       
    2.碎片对话框基类DialogFragment继承自Fragment。显示对话框的3个步骤
       2.1创建一个对话框碎片实例
       2.2获取碎片事务
       2.3使用对话框碎片实例的show方法显示,show方法有两个版本,第一个版本接收FragmentManager参数,第二个版本接收FragmentTrancstion参数。 第二个版本可以有机会将碎片事务加到回退栈。第一个版本更加便捷。
     
    3.有两个方法返回对话框碎片的视图结构,onCreateView和onCreateDialog。onCreateDialog返回一个对话框对象,对话框对象可以通过老风格的AlertDialog.Builder来创建。
     
    4.清除对话框碎片也有两种方法 dismiss()和显示另一个对话框。
       4.1对于dismiss(),会从碎片管理器中清除,会从返回栈中清除(如果有的话),会触发回调函数onDissmiss()执行。但是不能用onDismiss来确定是用户按键关闭对话框的,应该用onCancel,这个回调方法,会在用户按“返回”按钮时执行。
       4.2 对于第二种方法,代码示例如下:
             if (someview.getId() == R.id.btn_invoke_another_dialog) 
    {
    Activity act = getActivity();
    FragmentManager fm = act.getFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    ft.remove(this); //删除当前碎片
    ft.addToBackStack(null);  //可选,将当前碎片事务以匿名的方式保存到返回栈,如果从新碎片返回将再次显示
    //null represents no name for the back stack transaction
    HelpDialogFragment hdf =
    HelpDialogFragment.newInstance(R.string.helptext);
    hdf.show(ft, "HELP");
    return;

    5.对话框碎片与活动之间的通信

     
        5.1活动实现接口
        5.2对话框碎片调用绑定活动的接口反馈信息。
     
    6.嵌入式对话框
       6.1 在布局中增加容器
       6.2 将碎片对话框扩充到这个容器上。

     
       
  • 相关阅读:
    手机APP漏洞
    测试用例的优先级的概念
    测试出现BUG的理论逻辑
    django-redis 中文文档
    DRF单表序列化和反序列化
    事件
    QT文件操作
    一道字符串题目
    明日方舟六星出货率
    简易图片查看器
  • 原文地址:https://www.cnblogs.com/manziluo/p/5800393.html
Copyright © 2020-2023  润新知