中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

fragment的基本用法

發布時間:2021-08-31 18:33:11 來源:億速云 閱讀:120 作者:chen 欄目:移動開發

這篇文章主要講解了“fragment的基本用法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“fragment的基本用法”吧!

fragment 基本使用方法
    1、繼承Fragment類或者子類并重寫
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState)
       方法。把xml文件包裹成View對象,并對vie進行操作,與activity操作View相同。
    2、把fragment添加到activity中:
      1)、在xml中添加,也即靜態添加:
              <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)、在代碼中添加,也即動態添加:
            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事務
           Fragment:具體Fragment
         增:add方法
         刪:remove方法
         改:replace方法
         查:findFragmentByTag 或者 findFragmentById
    4、回退棧
         使用FragmentTransaction中的addToBackStack方法
    5、與activity的通訊
           在Fragment內定義一個接口,其作用是讓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的點擊事件作用到接口的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的點擊事件作用到接口的setA方法上
                @Override
                public void onClick(View v) {
                    if(getActivity() instanceof FragmentIF){
                        ((FragmentIF)getActivity()).setA();
                    }
                }
            }
                 

感謝各位的閱讀,以上就是“fragment的基本用法”的內容了,經過本文的學習后,相信大家對fragment的基本用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延吉市| 青岛市| 易门县| 花垣县| 桃源县| 万源市| 金山区| 韩城市| 积石山| 宜都市| 景宁| 镶黄旗| 永嘉县| 红安县| 沅陵县| 麻阳| 芷江| 伊宁市| 凤翔县| 芒康县| 汨罗市| 上栗县| 仙游县| 遵化市| 昂仁县| 响水县| 正定县| 岳阳市| 玛沁县| 柞水县| 伊春市| 昌平区| 霍山县| 广元市| 娄烦县| 聂荣县| 新巴尔虎左旗| 巴楚县| 永泰县| 巴塘县| 隆子县|