Java 实现日期选择器中的问题

Java 实现日期选择器中的问题,java,android,datepicker,Java,Android,Datepicker,在我的Android应用程序中,当我点击一个按钮时,日期选择器就会出现。我想在文本vie中设置所选日期。但当我在日期选择器上设置日期并单击“完成”按钮时,它不会设置文本视图。这是我的尝试 final Calendar c = Calendar.getInstance(); Year = c.get(Calendar.YEAR); Month = c.get(Calendar.MONTH); Day = c.get(Calendar.DAY_OF_MONTH); @Ove

在我的Android应用程序中,当我点击一个按钮时,日期选择器就会出现。我想在文本vie中设置所选日期。但当我在日期选择器上设置日期并单击“完成”按钮时,它不会设置文本视图。这是我的尝试

final Calendar c = Calendar.getInstance();
    Year = c.get(Calendar.YEAR);
    Month = c.get(Calendar.MONTH);
    Day = c.get(Calendar.DAY_OF_MONTH);

@Override
public void onClick(View view) {
    // TODO Auto-generated method stub
    switch (view.getId()) {
    case R.id.btnDate:
        CustomDialogFragment dialog = new CustomDialogFragment(
                NewComplain.this);
        Bundle bundle = new Bundle();
        bundle.putInt("dialog_id", DATE_DIALOG_ID);
        bundle.putInt("year", Year);
        bundle.putInt("month", Month);
        bundle.putInt("day", Day);
        dialog.setArguments(bundle);
        dialog.show(getFragmentManager(), "dialog");            
        break;
    }
}
我的CustomDialogFragment类是这样的

package xont.virtusel.v4.controller.sale;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;

public class CustomDialogFragment extends DialogFragment {
public static final int DATE_PICKER = 1;
public static final int TIME_PICKER = 2;
public static final int DIALOG = 3;
private OnDateSetListener listener_;

Context mContext;
String mMessage;
boolean finishActivity;

// private Fragment mCurrentFragment;
Activity mActivity;

/**
 * this constructor is used for datepicker & Timepicker
 */
public CustomDialogFragment(Fragment fragment) {
    // mCurrentFragment = fragment;
}

public CustomDialogFragment(Activity mActivity) {
    this.mActivity = mActivity;
}

/**
 * this constructor is used for simple dialog fragment
 */
public CustomDialogFragment(Context context, String message,
        final boolean finishActivity) {
    mContext = context;
    mMessage = message;
    this.finishActivity = finishActivity;
}

public Dialog onCreateDialog(Bundle savedInstanceState) {
    Bundle bundle = new Bundle();
    bundle = getArguments();
    int id = bundle.getInt("dialog_id");
    switch (id) {

    case DATE_PICKER:
        return new DatePickerDialog(getActivity(),
                (OnDateSetListener) mActivity, bundle.getInt("year"),
                bundle.getInt("month"), bundle.getInt("day"));

    }

    // Define your custom dialog or alert dialog here and return it.
    return new Dialog(getActivity());
}
}

在我的活动类中,我实现了以下代码段,以在文本视图中设置所选日期

private void updateDisplay() {
    System.out.println("===updateDisplay===");
    String str_date = "";
    if ((Month + 1) >= 10) {
        if (Day < 10) {
            str_date = Year + "-" + (Month + 1) + "-0" + Day;
        } else {
            str_date = Year + "-" + (Month + 1) + "-" + Day;
        }
    } else {
        if (Day < 10) {
            str_date = Year + "-0" + (Month + 1) + "-0" + Day;
        } else {
            str_date = Year + "-0" + (Month + 1) + "-" + Day;
        }

    }
    date.setText("" + str_date);
}

@Override
public void onDateSet(android.widget.DatePicker view, int year, int monthOfYear, int dayOfMonth) {
    // TODO Auto-generated method stub
    System.out.println("1233");
    Year = year;
    Month = monthOfYear; 
    Day = dayOfMonth; 
    updateDisplay();
}
private void updateDisplay(){
System.out.println(“==updateDisplay==”);
字符串str_date=“”;
如果((月+1)>=10){
如果(第10天){
str_date=年+“-”+(月+1)+“-0”+天;
}否则{
str_date=年+“-”+(月+1)+“-”+天;
}
}否则{
如果(第10天){
str_date=年+“-0”+(月+1)+“-0”+天;
}否则{
str_date=年+“-0”+(月+1)+“-”+天;
}
}
date.setText(“+str_date”);
}
@凌驾
public void onDateSet(android.widget.DatePicker视图,整数年,整数月,整数月){
//TODO自动生成的方法存根
系统输出打印项次(“1233”);
年=年;
月=月/年;
天=月的第几天;
updateDisplay();
}
我的活动由OnDateSetListener执行。 有人能解释一下如何解决这个问题吗


Thanx Previous

是否调用onDateSet?另外,不要将活动传递给片段,这真的不是一个好主意。阅读上下文以及如何正确地传递它。我不这么认为。在日期选择器中设置日期时不应该调用它吗?我应该单独叫它吗?这就是我要问的…当日期设置好的时候它会被调用吗?我看不出来,私有OnDateSetListener设置好了。。。所以,它不能被称为