현재 Activity를 Fragment로 변환하려고합니다. 활동에는 Edittext가 포함되어 있습니다. Edittext를 클릭하면 날짜 선택을위한 DialogFragmment가 표시됩니다. 작업에서 나는 단순히 대화 상자를 보여주기 위해 이것을 호출 할 것입니다 :조각에 DialogFragment 표시
@SuppressLint("NewApi")
public void showDatePickerDialog(View v) {
DatePickerFragment newFragment = new DatePickerFragment(datePickerEditText);
newFragment.show(getFragmentManager(), "datePicker");
}
그러나 이것은 단편에서 대화 상자를 표시하는 것으로 보이지 않습니다. "show"방법에 오류가 발생했습니다. 명확히하기 위해 Fragment에서 DialogFragment를 표시하는 방법을 궁금해하십니까?
이것은 나를 위해 DialogFragment
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
public EditText activity_edittext;
@SuppressLint("ValidFragment")
public DatePickerFragment(EditText edit_text) {
activity_edittext = edit_text;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
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);
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
activity_edittext.setText(String.valueOf(day) + "/" + String.valueOf(month + 1) + "/" + String.valueOf(year));
}
}
훌륭한 작품입니다. 고마워. – mgnusl
@mgnusl 오신 것을 환영합니다! 당신을 기쁘게 생각합니다. – mari