91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Android如何動態添加碎片

發布時間:2021-09-14 13:15:06 來源:億速云 閱讀:184 作者:chen 欄目:編程語言

本篇內容介紹了“Android如何動態添加碎片”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

碎片的創建

要使用碎片先要創建一個碎片,創建一個碎片很簡單。

1.新建一個碎片布局,fragment.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="這是碎片1"/></LinearLayout>

2. 新建一個類Fragment1.java,繼承自Fragment

注意Fragment有兩個不同的包,推薦使用support-v4中的,兼容性更好,另一個安卓4.2以下就會崩潰。在該碎片中可以進行各種操作,就如同操作一個activity。

public class Fragment1 extends Fragment {@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {View view=inflater.inflate(R.layout.fragment_questions1,container,false);Log.d("questionMain1","碎片1加載");return view;}}

碎片和活動之間的通信。雖然碎片都是嵌入在活動中顯示的,但他們之間的關系并不明顯。

1.在活動中調用碎片的方法。FragmentManagert提供了一個類似于finViewById()的方法,用于從布局文件中獲取碎片的實例。如果是動態加載的就跟簡單了加載是你就有了該碎片的實例。

2.在碎片中調用活動的方法。可以通過getActivity()方法得到和當前碎片綁定的活動實例。

碎片的綁定

1.靜態綁定

在活動布局中加一個碎片標簽,比較簡單不細說。android:name="",該標簽為碎片對應的類,注意要包含路徑全名。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="這是碎片3"/><fragmentandroid:id="@+id/fragment1"android:name="com.example.fragment1"android:layout_width="match_parent"android:layout_height="match_parent"/></LinearLayout>

2.動態綁定

這個才是碎片的強大之處,在程序運行時動態的添加到碎片中,根據具體情況來動態添加碎片,可以將程序界面定制得更加多樣化(多用于自適應手機和平板的應用)

下面的代碼以點擊按鈕。有三個碎片,通過點擊事件在一個活動中動態切換顯示的碎片。

package com.xiaobu.xiaoyan1.question;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentTransaction;import android.view.View;import android.widget.TextView;import com.xiaobu.xiaoyan1.R;import com.xiaobu.xiaoyan1.base.BaseActivity;public class QuestionsMain extends BaseActivity implements TextView.OnClickListener{private TextView fragment1;private TextView fragment2;private TextView fragment3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_question_main);initView();}private void initView(){((TextView)findViewById(R.id.question_text)).setTextColor(getResources().getColor(R.color.colorTextChecked));fragment1=(TextView)findViewById(R.id.quiz_text_view);fragment2=(TextView)findViewById(R.id.answer_text_view);fragment3=(TextView)findViewById(R.id.chosen_text_view);fragment1.setOnClickListener(this);fragment2.setOnClickListener(this);fragment3.setOnClickListener(this);changeFragment(new QuestionsMain1());checkedChange(fragment1);}@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.quiz_text_view:changeFragment(new QuestionsMain1());break;case R.id.answer_text_view:changeFragment(new QuestionsMain2());break;case R.id.chosen_text_view:changeFragment(new QuestionsMain3());break;default:break;}}private void changeFragment(Fragment fragment){FragmentManager fragmentManager=getSupportFragmentManager();FragmentTransaction transaction=fragmentManager.beginTransaction();transaction.replace(R.id.main_view,fragment);//第一個參數表示容器的id,第二個參數為碎片實例。transaction.commit();}}

“Android如何動態添加碎片”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

嘉禾县| 承德县| 固安县| 青田县| 广平县| 宣化县| 鄢陵县| 交口县| 驻马店市| 乌鲁木齐市| 永顺县| 元江| 肥城市| 双流县| 甘德县| 彰化市| 额尔古纳市| 洪湖市| 河池市| 宜良县| 屏山县| 遵义市| 开平市| 应城市| 拜泉县| 旅游| 武胜县| 兴山县| 平遥县| 南宫市| 金阳县| 衡阳县| 凤山市| 湘乡市| 阿图什市| 玛沁县| 静安区| 阿勒泰市| 昆山市| 潮州市| 上林县|