所以,
我有一个带有多个tab的FragmentActivity。我的标签是静态片段,这就是我添加此活动时创建的eclipse。
现在在我的一个标签中,我想要一个显示DatePickerDialog的按钮。我的理解是我创建了一个类似的类,
public class DatePickerFragment extends DialogFragment {
public DatePickerFragment(){
}
public Dialog onCreateDialog(Bundle savedInstanceState){
//Default dagsetning er i dag.
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(),HomeScreenFragment.OnDateSet(year,month,day),year,month,day;
}
}
文档说DatePickerDialog构造函数中的第二个参数是
“callBack如何通知父母日期已设置。”
所以我试着在保存按钮的静态Fragment类中实现该回调。在我写的按钮onclick方法里面:
FragmentManager fm = getFragmentManager();
DatePickerFragment newFragment = new DatePickerFragment();
newFragment.show(fm, "dialog");
但是Eclipse说,
DialogFragment类型中的方法show(FragmentManager,String)不适用于参数(FragmentManager,String)
所以我很困惑。我正在通过显示它想要的参数,但它不能识别它们 有任何想法吗?从我所拥有的标签片段创建和显示我的DatePickerFragment是一个坏主意还是不可能?
另外,当我的minSdkVersion为11且目标为18时,为什么我需要导入所有这个android.support.v4.app.Fragment东西呢?我认为它是针对Android 11的后向兼容性,但如果我尝试只导入例如android.app.Fragment,我会得到所有类型的错误?
所有帮助表示赞赏!
答案 0 :(得分:0)
我认为问题是,您可能从supportLib导入了东西 - 以android.support开头....
不要扩展FragmentActivity,因为它也来自supportLib,而只是在API11 +中扩展Activity。它已经可以处理碎片了。
您必须从supportLib获取所有Fragment内容,或者什么也不需要。混合它不起作用。