我不太清楚如何说出这个问题,所以我在这方面做得最好。所以我在我的Activity中创建DatePicker时遇到问题。这是给我一个错误的代码:
EditEventActivity.java
DateDialogFragment frag = DateDialogFragment.newInstance(this, new
DateDialogFragmentListener() {
@Override
public void updateChangeDate(int year, int month, int day) {
// TODO Auto-generated method stub
}
}, sYear, sMonth, sDay);
我在那里的newInstance()方法有什么给我的错误。错误是这样的:
The method newInstance(Context, AddEventActivity.DateDialogFragmentListener, int, int,
int) in the type DateDialogFragment is not applicable for the arguments
(EditEventActivity, new EditEventActivity.DateDialogFragmentListener(){}, int, int,
int)
现在DateDialogFragment位于它自己的文件中。我不认为我需要发布。就是这样。但我的界面位于AddEventActivity.java。这就是我所困惑的。我的静态方法,DateDialogFragment中的newInstance()需要DateDialogFragmentListener而不是AddEventActivity.DateDialogFragmentListener。所以我认为这是问题所在。但是再次,我不确定,这是我需要帮助理解的。提前致谢。
其实。我也想我可能包括newInstance()方法:
DateDialogFragment.java
public static DateDialogFragment newInstance(Context context, DateDialogFragmentListener
listener, int year, int month, int day) {
DateDialogFragment dialog = new DateDialogFragment();
mContext = context;
mListener = listener;
mYear = year;
mMonth = month;
mDay = day;
Bundle args = new Bundle();
args.putString("title", "Set Date");
dialog.setArguments(args);
return dialog;
}