簡體   English   中英

在 Android 中隱藏/顯示 ViewPager

[英]Hide/show ViewPager in Android

我有這個應用程序結構:

  1. MainActivity 帶有全局菜單和Fragment容器。
  2. 第一個Fragment :一個包含三頁的ViewPager
  3. 第二個Fragment :一個列表

我在 MainActivity 的OnCreate()上插入Fragment並使用 show 和 hide (使用FragmentTransaction )更改它們的可見性。

當我啟動應用程序時,第一個Fragment毫無問題地出現在屏幕上,當更改為第二個Fragment也像魅力一樣工作,但是當我回到第一個Fragment ,應用程序在ViewPager中沒有顯示任何ViewPager

我必須在ViewPager更改任何特定選項來解決此問題嗎?

問題似乎是由於 android 不允許嵌套片段。 就我而言,我可以使用簡單的視圖而不是 ViewPager 中的片段來管理這種情況。

我使用ViewStub來顯示/隱藏 ViewPager。

基本思想是您在布局文件中創建了 ViewStub,並在必要時膨脹/setVisible。

唯一的技巧是,我必須將Adatper 設置為null 否則它會在關閉和在屏幕上重新創建視圖時崩潰。

@Override
public void onDestroyView() {
    super.onDestroyView();

    viewPager.setAdatper(null);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM