1時間検索しても見つからなかったことにとても驚いています!
元のピッカーの例から少し変更した日付ピッカー ダイアログがあります (これについて Raghunandanに感謝します)。
しかし、デフォルトの日付を現在の日付として設定したくはありません。むしろ、EditText から日付を選択し、その日付を datepickerdialog に設定する必要があります。誰でもこれを解決するのを手伝ってもらえますか? 私の現在のコードは以下の通りです。
EDITED DatePickerFragment クラス内から購入した EditText の日付の値にアクセスする方法を知る必要があります。
主なクラス:
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);
}
}
注意:以前の同じコードについて質問がありますが、古いスレッドに質問を追加する方法がわかりません。