通过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类似。

posted @ 2014-03-21 01:35  Tuesday  阅读(1078)  评论(0编辑  收藏  举报