2014-02-24 41 views
0

的日期选择器对话框值,我需要日期选择器对话框中返回选定的值,看看我下面编码,需要返回的Android

这是我已经使用日期选择器对话框

if (holder.mClientNextvisit.isChecked() == true) { 
    holder.SelectDateLayout.setVisibility(View.VISIBLE); 

    holder.mClientSelectDate.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Calendar calender = Calendar.getInstance(); 
      year = calender.get(Calendar.YEAR); 
      month = calender.get(Calendar.MONTH); 
      day = calender.get(Calendar.DAY_OF_MONTH); 

      Log.d("Selected date", "---->" + day); 

      DatePickerDialog dialog = new DatePickerDialog(context, new DateListener(), year, month, day); 
      dialog.show(); 

     } 
    }); 

} 
我的适配器类

这是我datesetlistener类

class DateListener implements DatePickerDialog.OnDateSetListener { 

@Override 
public void onDateSet(DatePicker view, int year, int monthOfYear, 
     int dayOfMonth) { 
    // TODO Auto-generated method stub 
    int mYear = year; 
    int mMonth = monthOfYear; 
    int mDay = dayOfMonth; 
    StringBuilder date = new StringBuilder().append(mMonth + 1) 
      .append("/").append(mDay).append("/").append(mYear) 
      .append(" "); 

    Log.d("date", "---->" + date); 

} 

现在我需要返回适配器类选定的日期,请^ h elp我。

+1

您可以将日期存储在静态字符串或sharedpreference中,然后在您想要的任何地方使用。 –

回答

2

如何使用匿名类?

DatePickerDialog dialog = new DatePickerDialog(context, 
    new OnDateSetListener() { 

     @Override 
     public void onDateSet(DatePicker arg0, int arg1, int arg2, 
      int arg3) { 
      int mYear = year; 
      int mMonth = monthOfYear; 
      int mDay = dayOfMonth; 
      StringBuilder date = new StringBuilder() 
       .append(mMonth + 1).append("/").append(mDay) 
       .append("/").append(mYear).append(" "); 

      Log.d("date", "---->" + date); 

     } 
    }, year, month, day); 
1

假设mHolderTextView传递引用到您的收听,并直接使用它。

class DateListener implements DatePickerDialog.OnDateSetListener { 
    private TextView mHolder; 
    public DateListener(TextView mHolder) { this.mHolder = mHolder; } 
    @Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, 
     int dayOfMonth) { 
    // TODO Auto-generated method stub 
    int mYear = year; 
    int mMonth = monthOfYear; 
    int mDay = dayOfMonth; 
    StringBuilder date = new StringBuilder().append(mMonth + 1) 
      .append("/").append(mDay).append("/").append(mYear) 
      .append(" "); 

    Log.d("date", "---->" + date); 
    mHolder.setText(date); 
} 

DatePickerDialog dialog = new DatePickerDialog(
context, new DateListener(mHolder), year,month, day); 
dialog.show();