android隱藏fragment
1. android 怎樣隱藏當前的fragement
直接調用FragmentTransaction 的hide來隱藏,show來顯示。
transaction.hide(fragments[tabIndex]);
transaction.show(newFragment);
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作為溝通的紐帶。
2. android 怎麼通知回退棧中的fragment刷新
到的問題:
通過FragmentTransaction的replace方法會導致,每次都會重新調用fragment的onCreateView()方法,浪費時間。
解決方法:
通過FragmentTransaction的hide和show方法來實現fragment的顯示和隱藏,這樣就不會重復調用onCreateView函數了。
FragmentTransactioin 可以用來添加,刪除fragment,也可以控制fragment的顯示和隱藏。
這是如果調用addToBackStack(null),此時的狀態就會被保存在回退棧,按返回鍵的時候就會顯示出棧頂的
getSupportFragmentManager().popBackStack() 這個方法可以讓棧頂的fragment出棧。
只有在程序運行時被動態添加的fragment才會被添加到後退棧。
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, newFragment,"testa")
.addToBackStack(null)
.commit();
程序跑起來之後,通過這個方法後退棧數才會加一,如果在代碼中一口氣添加多個,再運行程序,getSupportFragmentManager().getBackStackEntryCount()得到的後退棧數值為零。
3. android用什麼方法可以直接讓當前fragment消失
可以參考我的csdn博客上,可以使用fragmentmanager來進行管理,最後別忘了commit
4. Android的Fragment實現介面重寫的方法里對Fragment中的一個布局進行隱藏。
哈哈,問問別人
5. 安卓怎麼能讓fragment不走setuservisiblehint
Fragment是activity的界面中的一部分或一種行為。你可以把多個Fragment們組合到一個activity中來創建一個多面界面並且你可以在多個activity中重用一個Fragment。你可以把Fragment認為模塊化的一段activity,它具有自己的生命周期,接收它自己的事件,並可以在activity運行時被添加或刪除。
Fragment不能獨立存在,它必須嵌入到activity中,而且Fragment的生命周期直接受所在的activity的影響。例如:當activity暫停時,它擁有的所有的Fragment們都暫停了,當activity銷毀時,它擁有的所有Fragment們都被銷毀。然而,當activity運行時(在onResume()之後,onPause()之前),你可以單獨地操作每個Fragment,比如添加或刪除它們。當你在執行上述針對Fragment的事務時,你可以將事務添加到一個棧中,這個棧被activity管理,棧中的每一條都是一個Fragment的一次事務。有了這個棧,就可以反向執行Fragment的事務,這樣就可以在Fragment級支持「返回」鍵(向後導航)。
當向activity中添加一個Fragment時,它須置於ViewGroup控制項中,並且需定義Fragment自己的界面。你可以在layoutxml文件中聲明Fragment,元素為:<fragment>;也可以在代碼中創建Fragment,然後把它加入到ViewGroup控制項中。然而,Fragment不一定非要放在activity的界面中,它可以隱藏在後台為actvitiy工作。
本章描述如何使用fragment,包括fragment在加入activity的後退棧中時如何保持自己的狀態,如何與activity以及其它fragment們共享事件,如何顯示在activity的動作欄,等等。
6. android fragment重新顯示會調用什麼方法
在實際開發項目中,經常用到 Fragment,並且為了復用Fragment,所以基本上就是用show()和hide方法來復用Fragment。在Fragment從隱藏到顯示,可能會做一些處理,例如數據重新請求載入等等,那麼Fragment從隱藏到顯示,會調用什麼方法呢?下面先看看具體的代碼實現:
[java] view plain
FragmentTransaction transaction = fragmentManager.beginTransaction();
Fragment fragment;//
//隱藏 Fragment
if (fragment!= null) {
transaction.hide(fragment);
}
//顯示、載入Fragment
if (fragment == null) {
// 如果fragment為空,則創建一個並添加到界面上
fragment = new AllFragment();
transaction.add(R.id.seckilling_fl, fragment);
} else {
// 如果Fragment不為空,則直接將它顯示出來
transaction.show(fragment);
}
當Fragment 從隱藏切換至顯示的時候,不會調用onResume(),Fragment 的onResume()是Fragment 和它的宿主在切換時才會調用的,而Fragment 之前切換時,不會調用onResume()方法,仔細查看發現Fragment 之前切換,Fragment 從隱藏切換至顯示,會調用onHiddenChanged(boolean
hidden)方法
7. Android中,FragmentTransaction類的replace()方法的作用是什麼
對於fragment的使用就我所知就我會的只有兩種吧,一種是add方式來進行show和add,這種方式你切換fragment不會讓fragment重新刷新,而用replace方式會使fragment重新刷新,因為add方式是將fragment隱藏了而不是銷毀再創建,replace方式每次都是重新創建。具體我們還是看代碼來說吧,這種基礎的東西看看代碼就懂了。
8. android 怎樣讓fragment全屏,隱藏標題欄
讓Fragment
所屬的Activity
全屏就可以了
Fragment
本身就是在Activity裡面存在的
後者是前者的容器容器全屏了
他自然也全屏了
一勞永逸的方法
在Manifest文件裡面的Aplication
裡面的那個theme
android:theme="@android:style/Theme.Black.NoTitleBar"
例如
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar"
>
9. android怎麼在tabbed fragment 底部設置
自定義底部菜單欄實現方式
(1)對應的 Fragment 編輯代碼和布局實現在前面的 Fragment介紹和簡單實現 中已經有提及,代碼中沒復雜的地方,此處略過,具體可看實例代碼。
(2)菜單欄實現,這里使用代碼實現的,其實也可以用布局文件實現,代碼如下:
10. Android Fragment怎麼強制銷毀
android fragment的生命周期是隨著綁定的activity的,所以要強制銷毀的話,可以把ativity殺死。如果不需要fragment你可以先hide隱藏掉即可。