溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

fragment的基本用法

發(fā)布時(shí)間:2021-08-31 18:33:11 來(lái)源:億速云 閱讀:120 作者:chen 欄目:移動(dòng)開(kāi)發(fā)

這篇文章主要講解了“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)注!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI