对话框AlertDialog

来源:互联网 发布:gtp吉他谱软件ios 编辑:程序博客网 时间:2024/04/29 05:36

这两天一直在看一本书《Android编程权威指南》感觉对以后的开发很有帮助,很基础的一本Android studio入门书。
当然是跟对我这种菜鸟级的一个提升。 使用fragmentManager管理对话框,可以更加灵活地显示对话框,如果旋转设备,单独使用AlertDialog会消失,而封 装到fragment中的AlertDialog不会出现这种问题(旋转后,对话框会被重建恢复 )下面写了一个简单的demo

 <span style="font-size:18px;">* Created by Administrator on 2016/9/19. * DialogFragment也是由fragmentManager来托管的,用来防止横屏时候消失重构 * * * fragment 与fragment之前传递数据有两种方式 * 1   自己写构造函数,传递过去 * 2   在dataPaickerFragment中使用setResult(DATA,date); *     在CimeFragment 中使用onactiivtyResult() * */public class DataPickerFragment extends DialogFragment {    private static final String DATA="data";    public static Fragment getInstance(Date date ){        Bundle bundle=new Bundle();        bundle.putString(DATA,date.toString());        DataPickerFragment fragment=new DataPickerFragment();        fragment.setArguments(bundle);        return fragment;    }    @Override    public Dialog onCreateDialog(Bundle savedInstanceState) {        Date date= (Date) getArguments().getSerializable(DATA);        View view=View.inflate(getActivity(),R.layout.fragment_crime,null);        return new AlertDialog.Builder(getActivity()).                setView(view).                setTitle("小白").setPositiveButton("确认", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialogInterface, int i) {            }        }).create();    }}</span>



使用的时候直接展示


 <span style="font-size:18px;"> mButton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                FragmentManager fragmentManager = getFragmentManager();                DataPickerFragment dialog= (DataPickerFragment) DataPickerFragment.getInstance(mCrime.getDate());                dialog.show(fragmentManager,"TAG");            }        });</span>





0 0