Die Methode setDateListener(DateListener dl)
kann nicht aufgelöst werden. Es ist öffentlich und ich verwende es für ein Objekt der Klasse DatePickerFragment.java, in dem die Methode enthalten ist. HierKann Methode nicht auflösen, warum?
ist die onCreateView()
Verfahren in dem Fragment, wo die setDateListener()
Methode aufgerufen wird:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
mView = inflater.inflate(R.layout.fragment_sign_up_about, container, false);
mFirstNameEditText = (EditText) mView.findViewById(R.id.sign_up_first_name_edit_text);
mLastNameEditText = (EditText) mView.findViewById(R.id.sign_up_last_name_edit_text);
mBirthdayEditText = (EditText) mView.findViewById(R.id.sign_up_birthday_edit_text);
mContinueButton = (Button) mView.findViewById(R.id.sign_up_continue_2_button);
mBirthdayEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
datePickerFragment = new DatePickerFragment();
datePickerFragment.setDateListener(SignUpAboutFragment.this);
datePickerFragment.show(getFragmentManager(), "datePicker");
}
});
}
Hier ist die DatePickerFragment.java Klasse (Importe weggelassen worden):
public class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
private DateListener mCallback;
public interface DateListener {
void onDateSelected(String formattedDate);
}
@NonNull
@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);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar c = Calendar.getInstance();
c.set(year, monthOfYear, dayOfMonth);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
String formattedDate = sdf.format(c.getTime());
mCallback.onDateSelected(formattedDate);
}
public void setDateListener(DateListener dateListener) {
mCallback = dateListener;
}
}
haben Sie die Schnittstelle in 'SignUpAboutFragment' implementiert? – Raghunandan
Welcher deklarierte Typ hat 'datePickerFragment'? –
gibt es keine Schnittstelle SignUpAboutFragment. –