您好,登錄后才能下訂單哦!
這篇文章主要講解了“fragment的基本用法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“fragment的基本用法”吧!
fragment 基本使用方法
1、繼承Fragment類或者子類并重寫(xiě)
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
方法。把xml文件包裹成View對(duì)象,并對(duì)vie進(jìn)行操作,與activity操作View相同。
2、把fragment添加到activity中:
1)、在xml中添加,也即靜態(tài)添加:
<fragment
android:layout_below="@id/tv"
android:id="@+id/left_fragment"
android:name="com.example.test.LeftFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
2)、在代碼中添加,也即動(dòng)態(tài)添加:
FragmentManager LeftFragment fragment=new LeftFragment();
fragmentManager=getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.ll, fragment);
fragmentTransaction.commit();
注:需要commit().
3、基本操作,增、刪、改、查。
重要類:
FragmentManager: Fragment管理
FragmentTransaction:Fragment事務(wù)
Fragment:具體Fragment
增:add方法
刪:remove方法
改:replace方法
查:findFragmentByTag 或者 findFragmentById
4、回退棧
使用FragmentTransaction中的addToBackStack方法
5、與activity的通訊
在Fragment內(nèi)定義一個(gè)接口,其作用是讓activity使用。
1)、
public class FragmentB_1 extends Fragment implements OnClickListener {
private FragmentBIF fragmentBIF;
public interface FragmentBIF{
public void setB();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.b, null);
Button button=(Button) view.findViewById(R.id.but_b);
button.setOnClickListener(this);
return view;
}
public void setFragmentBIF(FragmentBIF fragmentBIF) {
this.fragmentBIF = fragmentBIF;
}
//button的點(diǎn)擊事件作用到接口的setB方法
@Override
public void onClick(View v) {
if(fragmentBIF!=null){
fragmentBIF.setB();
}
}
}
2)、
public class FragmentA_1 extends Fragment implements OnClickListener {
private FragmentIF fragmentIF;
public interface FragmentIF{
public void setA();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.a, null);
Button button = (Button) view.findViewById(R.id.but_a);
button.setOnClickListener(this);
return view;
}
//button的點(diǎn)擊事件作用到接口的setA方法上
@Override
public void onClick(View v) {
if(getActivity() instanceof FragmentIF){
((FragmentIF)getActivity()).setA();
}
}
}
感謝各位的閱讀,以上就是“fragment的基本用法”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)fragment的基本用法這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。