啦啦爱在线观看免费视频6_花季传媒3.072_美女跪下吃男人j8免费视频_别揉我胸嗯啊

十三年專(zhuān)注于網(wǎng)站建設(shè)與互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā),低調(diào)、有情懷的網(wǎng)絡(luò)應(yīng)用服務(wù)商!
南昌百恒科技微信公眾號(hào) 掃一掃關(guān)注
tel-icon全國(guó)服務(wù)熱線(xiàn):400-680-9298,0791-88117053
掃一掃關(guān)注百恒科技微信公眾號(hào)

實(shí)現(xiàn)fragment生命周期的方法

百恒網(wǎng)絡(luò) 2018-09-04 15:49:49 2869
? ? ? ?CrimeFragment類(lèi)是與模型及視圖對(duì)象交互的控制器,用于顯示特定crime的明細(xì)信息,并在用戶(hù)修改這些信息后立即進(jìn)行更新。

? ? ? ?在GeoQuiz應(yīng)用中,activity通過(guò)其生命周期方法完成了大部分邏輯控制工作。而在CriminalIntent應(yīng)用中,這些工作是由fragment的生命周期方法完成的。fragment的許多生命周期方法對(duì)應(yīng)著我們熟知的Activity方法,如onCreate(Bundle)方法。

? ? ? ?在CrimeFragment.java中,新增一個(gè)Crime實(shí)例成員變量,實(shí)現(xiàn)Fragment.onCreate(Bundle)方法,如下代碼所示。

? ? ? ?覆蓋Fragment.onCreate(Bundle)方法(CrimeFragment.java)
? ? ? ?public class CrimeFragment extends Fragment {
? ? ? ?private Crime mCrime;
? ? ? ?@Override
? ? ? ?public void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?mCrime = new Crime();
? ? ? ?}
? ? ? ?}?

? ? ? ?在這里,南昌APP開(kāi)發(fā)公司要告訴大家的是需注意以上實(shí)現(xiàn)代碼中的以下幾點(diǎn):

? ? ? ?首先,F(xiàn)ragment.onCreate(Bundle)是公共方法,而Activity.onCreate(Bundle)是保護(hù)方法。Fragment.onCreate(...)方法及其他Fragment生命周期方法必須是公共方法,因?yàn)橥泄躥ragment的activity要調(diào)用它們。

? ? ? ?其次,類(lèi)似于activity,fragment同樣具有保存及獲取狀態(tài)的bundle。如同使用Activity.onSaveInstanceState(Bundle)方法那樣,我們也可以根據(jù)需要覆蓋Fragment.onSaveInstanceState(Bundle)方法。

? ? ? ?另外,fragment的視圖并沒(méi) 有在Fragment.onCreate(...)方法中生成。雖然我們?cè)?/span>Fragment.onCreate(...)方法中配置了fragment實(shí)例,但創(chuàng)建和配置fragment視圖是另一個(gè)fragment生命周期方法完成的:

? ? ? ?public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)

? ? ? ?該方法實(shí)例化fragment 視圖的布局,然后將實(shí)例化的 View 返回給托管 activity 。

? ? ? ? LayoutInflater及ViewGroup是實(shí)例化布局的必要參數(shù)。Bundle用來(lái)存儲(chǔ)恢復(fù)數(shù)據(jù),可供該方法從保存狀態(tài)下重建視圖。

? ? ? ?在CrimeFragment.java中,添加onCreateView(...)方法的實(shí)現(xiàn)代碼,從fragment_crime.xml布局中實(shí)例化并返回視圖,如下代碼所示。

? ? ? ?覆蓋onCreateView(...)方法(CrimeFragment.java)
? ? ? ?public class CrimeFragment extends Fragment {
? ? ? ?private Crime mCrime;?

? ? ? ?@Override
? ? ? ?public void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?mCrime = new Crime();
? ? ? ?}
? ? ? ?@Override
? ? ? ?public View onCreateView(LayoutInflater inflater, ViewGroup container,
? ? ? ?Bundle savedInstanceState) {
? ? ? ?View v = inflater.inflate(R.layout.fragment_crime, container, false);
? ? ? ?return v;
? ? ? ?}
? ? ? ?}?

? ? ? ?在 onCreateView(...) 方法中, fragment 的視圖是直接通過(guò)調(diào)用 LayoutInflater.inflate(...)方法并傳入布局的資源ID生成的。第二個(gè)參數(shù)是視圖的父視圖,我們通常需要父視圖來(lái)正確配置組件。第三個(gè)參數(shù)告知布局生成器是否將生成的視圖添加給父視圖。這里,我們傳入了false參數(shù),因?yàn)槲覀儗⒁詀ctivity代碼的方式添加視圖。

? ? ? ?以上就是百恒網(wǎng)絡(luò)為大家介紹的關(guān)于實(shí)現(xiàn)fragment生命周期的方法,希望能夠幫到大家!
400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售前咨詢(xún) 售前咨詢(xún)
 
售后服務(wù) 售后服務(wù)
 
備案專(zhuān)線(xiàn) 備案專(zhuān)線(xiàn)
 
售后服務(wù) 售后服務(wù)
 
×