• 通过DialogFragment从DatePicker或TimePicker中获取日期数据


    通过DialogFragment从DatePicker或TimePicker中获取日期数据

    一个activity类,里面存有date和time的变量,想通过dialogfragment的方式获取用户输入的数据,来设置activity类中的变量,

    首先说DatePicker

    activity里面有更改date的按钮,点击这个按钮,就会弹出一个dialogFragment,设置完date后点击dialog中的设置,设置的date应用到activity中的变量

    实现方法

    一个MyDatePickerDialogFragment类代码:MyDatePickerDialogFragment.class

    package com.example.setup;
    
    import java.util.Calendar;
    
    import android.app.DatePickerDialog;
    import android.app.Dialog;
    import android.app.DialogFragment;
    import android.os.Bundle;
    
    public class MyDateDialogFragment extends DialogFragment {
    
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            
            final Calendar calendar = Calendar.getInstance();
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int day = calendar.get(Calendar.DAY_OF_MONTH);
            return new DatePickerDialog(getActivity(), (AddRecordActivity)getActivity(), year, month, day);
            
            
            
    
        }
    
    }

    parent activity是 AddRecordActivity, 它继承了Activity,实现了DatePickerDialog.OnDateSetListener接口,而DatePickerDialog.OnDateSetListener接口必须实现一个方法

    @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            mYear = year;
            mMonth = monthOfYear;
            mDayOfMonth = dayOfMonth;
            updateDisplay();
            
        }

    这个方法就是监听的当用户设置完date后,确认的事件,所以这个方法里面实现了当用户设置完date后,对parent中的变量mYear mMonth mDayOfMonth的更新。

    至于TimePicker的实现的方式和DatePicker类似。

  • 相关阅读:
    Hive 函数 + Shell编程的具体实践与运用
    Java的MybatisPlus
    这道 SQL 题,你有不一样的解法吗?
    300行代码,教你用Python写个飞机大战
    仅20行代码,实现文件自动化上传。
    位运算算法
    摆脱五彩斑斓的黑,成为七彩程序员!
    项目管理学定律之墨菲定律——怕什么来什么?
    windows10/liunx创建空大文件
    vim处理冲突文件
  • 原文地址:https://www.cnblogs.com/Happy-Tuesday/p/3615026.html
Copyright © 2020-2023  润新知