android-Fragment的簡(jiǎn)單加載及更換

Fragment的簡(jiǎn)單加載及更換

Fragment是什么?

Fragment:碎片,依附于activity。一個(gè)activity中可以有多個(gè)fragment

Fragment不需要在清單文件中注冊(cè)。

fragment知識(shí)點(diǎn)

Fragment通過(guò)getActivity()可以獲取所在的activity;

Activity通過(guò)fragmentManager的findfragmentbyid()或findfragmentbytag()獲取fragment。

Fragment和activity是多對(duì)多的關(guān)系

Fragment的使用

一、創(chuàng)建一個(gè)新項(xiàng)目

二、創(chuàng)建一個(gè)類(lèi)繼承Fragment,并寫(xiě)出兩個(gè)方法

onCreateView:通過(guò)該方法返回視圖文件

onViewCreated:當(dāng)view創(chuàng)建完成后可做的一些事情


三、創(chuàng)建一個(gè)fragment的xml文件


四、在fragment的java文件中:

在oncreateview方法中用inflater.inflate獲取到xml資源文件,并return返回view。

在onviewcreated方法中可以用view來(lái)findviewbyid找到xml的控件

五、在activity中調(diào)用fragment文件。

(一)activity的xml文件中進(jìn)行布局,來(lái)幾個(gè)按鈕和一個(gè)fragmentlayout


(二)在activity的java文件內(nèi):

Findviewbyid找到控件id

實(shí)例化我們的fragment文件

用getFragmentManager().beginTransaction().add(activity頁(yè)面的fragment控件id,實(shí)例的fragment對(duì)象).commit;


提交可以用commitAllowingStateLoss();容錯(cuò)率更大。


六、實(shí)現(xiàn)點(diǎn)擊替換fragment:

替換可以用replace來(lái)進(jìn)行,如下:

getFragmentManager().beginTransaction().replace(R.id.my_fragment,aFragment).commitAllowingStateLoss();


點(diǎn)擊替換則在btn的點(diǎn)擊事件中寫(xiě)就行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容