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ě)就行。