即使经过 1 小时的搜索,我也无法在网上找到这个,我感到非常惊讶!
我有一个从原始 Pickers 示例稍微修改的日期选择器对话框(感谢 Raghunandan )。
但我不想将默认日期设置为当前日期,而是应该从 EditText 中选择日期并将该日期设置为 datepickerdialog。有人可以帮我解决这个问题吗?我当前的代码如下所示。
EDITED我需要知道如何从 DatePickerFragment 类中访问 EditText datepurchased 的值。
主要课程:
public class EditEntry extends Activity implements DatePickerFragment.TheListener{
EditText edit_datepurchased;
public void showdate(View v) {
edit_datepurchased = (EditText) findViewById(v.getId());
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getFragmentManager(), "datePicker");
}
public void returnDate(String date) {
edit_datepurchased.setText(date);
}
}
DatePickerFragment 类:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
TheListener listener;
public interface TheListener{
public void returnDate(String date);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
final Calendar c=Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH);
int day=c.get(Calendar.DAY_OF_MONTH);
listener = (TheListener) getActivity();
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day){
Calendar c = Calendar.getInstance();
c.set(year, month, day);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = sdf.format(c.getTime());
if (listener != null)
{
listener.returnDate(formattedDate);
}
//listener.returnDate(year+"-"+(month+1)+"-"+day);
}
}
注意:我之前对相同的代码有一个问题,但我不知道如何在旧线程中添加问题。