當前位置:首頁 » 安卓系統 » android中fragment

android中fragment

發布時間: 2022-08-31 03:18:08

『壹』 Android中用什麼方法將Fragment和Activity綁定

兩種實現方式:
(1)通過Bundle傳參,從而實現Fragment之間的數據交互
(2)通過在Fragment內部定義一個回調介面,並需要宿主Activity實現它。當Activity通過介面接收到回調時,可以在必要時與布局中的其它Fagment共享信息。

『貳』 android 中fragment有什麼優點

1.Fragment是android3.0引入的新控制項,果應用使用在3.0以下、1.6及以上的版本,需要引入v4包。
2.Fragment支持在不同的Activity中使用並且可以處理自己的輸入事件以及生命周期方法等。
3.Fr期方法依賴於Activity的生命周期,例如一個Activity的onPause()的生命周期方法被調用的時候這個Activity中的所有的Fragment的onPause()方法也將被調用。
4.FragmentManager提供了對Activity運行時的Fragment的添加、刪除、替換的操作。在Activity運行期間可以添加Fragment而不是在XML布局文件中進行定義。如果打算在Activity中改變Fragment的生命過程。如果要執行添加、刪除、修改的操作,必須通過FragmentManager的對象獲得一個FragmentTransaction對象,通過它的API來執行這些操作。
5.兩個單獨的Fragment之間是不應該進行通信的。應該使用他們所存在的Activity作為溝通的紐帶。

『叄』 請問Android中的Fragment有什麼作用

Android運行在各種各樣的設備中,有小屏幕的手機,超大屏的平板甚至電視。針對屏幕尺寸的差距,很多情況下,都是先針對手機開發一套App,然後拷貝一份,修改布局以適應平板神馬超級大屏的。難道無法做到一個App可以同時適應手機和平板么,當然了,必須有啊。Fragment的出現就是為了解決這樣的問題。你可以把Fragment當成Activity的一個界面的一個組成部分,甚至Activity的界面可以完全有不同的Fragment組成,更帥氣的是Fragment擁有自己的生命周期和接收、處理用戶的事件,這樣就不必在Activity寫一堆控制項的事件處理的代碼了。更為重要的是,你可以動態的添加、替換和移除某個Fragment。
在秒秒學的網站中有專門的課程來介紹Frament。

『肆』 android fragment和activity的區別

Fragment是到Android3.0+ 以後,Android新增了Fragments,在沒有 Fragment 之前,一個屏幕只能放一個 Activity。這是一個起源時間大家要知道是什麼時候開始引入的。
.Activity 代表了一個屏幕的主體,而Fragment可以作為Activity的一個組成元素。
一個Activity可以有若干個(0或n)Fragment構成。你可以把Fragment想像成Activity中的一個控制項,只不過相對於一般控制項,Fragment與Activity聯系更為緊密,隨著Activity的生命周期變化,Fragment也隨之相應不同的生命周期函數。
Fragment 從功能上講相當於一個子活動(Activity),它可以讓多個活動放到同一個屏幕上,也就是對用戶界面和功能的重用,因為對於大屏設備來說,純粹的 Activity 有些力不從心。
Fragment 像是一個子活動,但是 Fragment 不是 Activity 的擴展,因為 Fragment 擴展自 android.app 中的 Object,而 Activity 是 Context 的子類。Fragment 有自己的視圖層級結構,有自己的活動周期,還可以像活動一樣響應後退按鈕,Fragment 還有一個用作其初始化參數的包(Bundle),類似 Activity,Fragment 也可由系統自動保存並在以後還原。當系統還原 Fragment 時,它調用默認的構造函數(沒有參數),然後將此Bundle還原到新創建的 Fragment 中,所以無論新建還是還原 Fragment,都要經過兩個步驟:(1)調用默認構造函數(2)傳入新的或者保存起來的Bundle。
一個Activity可以運行多個 Fragment,Fragment 切換時,由 FragmentTransaction 執行,切換時,上一個 Fragment 可以保存在後退棧中(Back Stack),這里的後退棧由 FragmentManager 來管理,注意 Fragment 和 Activity 的後退棧是有區別的:Activity 的後退棧由系統管理,而 Fragment 的後退棧由所在的Activity 管理。
Fragment不能脫離Activity而存在,只有Activity才能作為接收intent的載體。其實兩者基本上是載體和組成元素的關系。
Fragment用來描述一些行為或一部分用戶界面在一個Activity中,你可以合並多個fragment在一個單獨的activity中建立多個UI面板,同時重用fragment在多個activity中.你可以認為fragment作為一個activity中的一節模塊,fragment有自己的生命周期,接收自己的輸入事件,你可以添加或移除從運行中的activity.一個fragment必須總是嵌入在一個activity中,同時fragment的生命周期受activity而影響,舉個例子吧,當activity暫停,那麼所有在這個activity的fragments將被destroy釋放。然而當一個activity在運行比如resume時,你可以單獨的操控每個fragment,比如添加或刪除。不過因為Fragment和Activity的生命周期都比較復雜,我們分別對比下:創建一個fragment你必須創建一個Fragment的子類或存在的子類,比如類似下面的代碼
public static class AndroidFragment extends Fragment{
@Override
public View onCreateView(LayoutInflaterinflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.android_fragment,container, false);
}
}

Fragment類的一些代碼看起來有些像Activity為了讓大家了解清楚,Android開發網給大家整理下 Fragment的生命周期大家可以參考一下網上關於生命周期的介紹 http://www.cnblogs.com/purediy/p/3276545.html,部分類似Activity的,我們詳細解釋
onCreate()
當fragment創建時被調用,你應該初始化一些實用的組件,比如在fragment暫停或停止時需要恢復的
onCreateView()
當系統調用fragment在首次繪制用戶界面時,如果畫一個UI在你的fragment你必須返回一個View當然了你可以返回null代表這個fragment沒有UI.
那麼如何添加一個Fragment到Activity中呢? Activity的布局可以這樣寫
<?xml version="1.0"encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.android.cwj.ArticleListFragment"
android:id="@+id/list"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
<fragment android:name="com.android.cwj.ArticleReaderFragment"
android:id="@+id/viewer"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>

『伍』 真正Android開發中,fragment扮演什麼角色

在Android中,Fragment就是一個輕量級的Activity。 可以把Fragment想成Activity中的模塊,這個模塊有自己的布局,有自己的生命周期,單獨處理自己的輸入,在Activity運行的時候可以載入或者移除Fragment模塊。 可以把Fragment設計成可以在多個Activity中復用的模塊。 當開發的應用程序同時適用於平板電腦和手機時,可以利用Fragment實現靈活的布局,改善用戶體驗。

『陸』 Android中綁定Fragment與Activity用哪個方法

1、用FragmentActivity類,自帶綁定管理類,綁定fragment。
2、在Activity中,用fragmentManager管理類,綁定fragment和Activity的關系。

『柒』 Android中的Fragment嵌套Fragment

1.fragment嵌套fragment時出現getActivity()為null
activity A嵌套fragment B,B嵌套fragment C,C跳轉到activity D,當activity D被finish掉之後,C中容易爆出getActivity為空.如果你的activity被回收了,那你需要在bundle中保存一下fragment信息,我的解決方法:fragment實例化之後會到activity的fragmentManager中注冊一下,這個動作封裝在fragment中的onAttach(Activity activity)方法中,可以直接在onAttach(Activity activity)方法中去賦值

2.fragment嵌套fragment時沒有執行子fragment的onActivityResult方法
activity A嵌套fragment B,B嵌套fragment C,C通過startActivityForResult跳轉到activity D,當activity D被finish掉之後,沒有執行C的onActivityResult
其實這個問題也不是每個人都會遇到,當activity A和Fragment B不重寫onActivityResult方法,可能就不會出現這個問題,但是我的activity A重寫了onActivityResult方法,所以當activity D被銷毀的時候,直接去執行activity 的onActivityResult,其實這個問題也很簡單,只是遇到的時候可能想不到,解決方案就是在Activity中的onActivityResult方法中加入super.onActivityResult(requestCode, resultCode, data);一切都ok了

Activity的onActivityResult方法:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

fragment的onActivityResult方法:

public void onActivityResult(int requestCode, int resultCode, Intent data) {

『捌』 android fragment有什麼用

自從Android 3.0中引入fragments 的概念,其目的是為了解決不同屏幕分辯率的動態和靈活UI設計。大屏幕如平板小屏幕如手機,平板電腦的設計使得其有更多的空間來放更多的UI組件,而多出來的空間存放UI使其會產生更多的交互,從而誕生了fragments 。
fragments 的設計不需要你來親自管理view hierarchy 的復雜變化,通過將Activity 的布局分散到frament 中,可以在運行時修改activity 的外觀,並且由activity 管理的back stack 中保存些變化。當一個片段指定了自身的布局時,它能和其他片段配置成不同的組合,在活動中為不同的屏幕尺寸修改布局配置(小屏幕可能每次顯示一個片段,而大屏幕則可以顯示兩個或更多)。
ITjob網有關於Android的文章和帖子,如果你想了解的更細致的話,可以自己去看看。也可以去相關的論壇,或者大牛的博客看看。希望對你有幫助。

熱點內容
javawindows伺服器搭建 發布:2025-01-12 19:59:37 瀏覽:570
linux關閉iptables 發布:2025-01-12 19:58:49 瀏覽:150
伺服器電腦名字改了影響資料庫嗎 發布:2025-01-12 19:58:44 瀏覽:652
手機存儲優化 發布:2025-01-12 19:58:43 瀏覽:356
android智能機器人 發布:2025-01-12 19:41:49 瀏覽:56
小米civi如何刷純安卓系統 發布:2025-01-12 19:41:40 瀏覽:45
壓縮高櫃 發布:2025-01-12 19:41:37 瀏覽:331
騰訊雲購買後怎麼找到伺服器ip 發布:2025-01-12 19:41:37 瀏覽:826
android視頻資源 發布:2025-01-12 19:39:17 瀏覽:335
odoo源碼 發布:2025-01-12 19:29:28 瀏覽:629