gpt4 book ai didi

java - 无法解析方法,为什么?

转载 作者:行者123 更新时间:2023-12-01 09:46:02 25 4
gpt4 key购买 nike

无法解析方法setDateListener(DateListener dl)。它是公共(public)的,我在包含该方法的 DatePickerFragment.java 类的对象上使用它。

以下是 fragment 中调用 setDateListener() 方法的 onCreateView() 方法:

@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");

}
});
}

这是 DatePickerFragment.java 类(已省略导入):

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;
}
}

最佳答案

The method setDateListener(DateListener dl) cannot be resolved. It is public and I am using it on an object of the class DatePickerFragment.java where the method is contained.

当您将引用分配给父类(super class)型时,就会发生这种情况。 DatePickerFragment 是一个 DialogFragment,相反,DialogFragment 不是 DatePickerFragment

关于java - 无法解析方法,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38029141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com