所以,我可以通過FragmentActivity或Fragment創建並顯示DatePickerFragment嗎?
我有一個FragmentActivity與多tabs.My選項卡是靜態片段,這只是什麼日食創建時,我添加此活動。
現在在我的一個選項卡中,我想要一個顯示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構造函數的第二個參數是
「回調父如何通知的日期設置。」
所以我試圖在我的靜態Fragment類實現該回調持有按鈕。按鈕的onclick方法中我寫道:
FragmentManager fm = getFragmentManager();
DatePickerFragment newFragment = new DatePickerFragment();
newFragment.show(fm, "dialog");
在類型DialogFragment
但是Eclipse說,
的方法秀(FragmentManager,字符串)不適用的參數(FragmentManager,字符串)
所以我很困惑。我通過顯示它想要的參數,但它不能識別它們。
任何想法?這是一個壞主意,也許不可能創建並顯示我的標籤片段我的DatePickerFragment?
此外,爲什麼我需要導入所有此android.support.v4.app.Fragment的東西,當我的minSdkVersion是11和目標是18?我認爲這是爲了向後兼容預安卓11,但如果我嘗試只是導入例如android.app.Fragment,我得到所有類型的錯誤?
所有幫助表示感謝!
感謝您的答案,所以我試圖簡單地擴展活動,但隨後在eclipse genarated代碼中,我在這個類變量中出現錯誤, SectionsPagerAdapter mSectionsPagerAdapter; – Jarvis
好的 - 所以生成的東西有些需要來自支持庫的更多東西 - 你也可以去另一個方向 - 只使用支持庫中的Fragment。再次擴展FragmentActivity,不要從android.app中導入DialogFragment,而是從DatePicker中的android.support ....中導入。這還有另一個好處,就是你已經可以使用像支持庫中存在的嵌套片段這樣的新東西,但不能在API 11 Fragments中使用。只是不要混合它。 –
是的,我搜索了一些,大多數人都同意使用支持庫是最簡單的。清理一切,並得到它的工作。感謝您的支持! – Jarvis