2017-06-13 98 views
0

我有一個包含回收視圖的片段,並且在每個項目上按下另一個片段顯示持有查看尋呼機,該尋呼尋呼機顯示每個刷卡片段。當我按下回收視圖項目後首次進入片段時,尋呼機不可見。 第二次,其餘時間的數據如預期顯示。視圖尋呼機僅在第一時間爲空

代碼:

主要碎片持有觀點尋呼機:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 


     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/lineItems" 
      style="@style/TitleTextView"/> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/CardTablepager" 
      android:layout_width="match_parent" 
      android:layout_alignParentBottom="true" 
      android:layout_height="wrap_content"/> 

    </LinearLayout> 

內容的片段(查看傳呼機揮筆這個片段):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/poMainlayout"> 
     <android.support.v7.widget.CardView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      style="@style/CardViewStyle" 
      android:layout_margin="8dp" 
      > 
      <android.support.v7.widget.RecyclerView 
       android:id="@+id/poLineItemsTable" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:scrollbarStyle="outsideInset" 
       /> 
     </android.support.v7.widget.CardView> 

</LinearLayout> 

我看了幾個帖子沒有幫助:Android Viewpager display wrong data on first load

我也嘗試使主要碎片的適配器無效nt沒有幫助:

@Override 
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 
     viewPager.getAdapter().notifyDataSetChanged();   

    } 

有什麼想法嗎?

+0

你沒有把'ScrollView'裏面的Recyclerview'實現'ScrollingView'&'NestedScrollingChild' – eLemEnt

+0

我想用橫向和縱向滾動創建回收視圖,而不是問題,所以我更新了問題。 – BoazGarty

回答

1

只是通知你的適配器onCreateView不onViewCreated

@Override 
public void onCreateView(View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
    viewPager.getAdapter().notifyDataSetChanged();   

} 
+0

你在哪裏定義了你的viewpager?如果它可以把你的整個片段 – Meikiem

+0

我試過你的建議。 viewpager視圖在這裏還沒有膨脹,所以它不起作用。 – BoazGarty

+0

只是讓我知道你的第一個片段,你在哪裏定義了你的viewpager – Meikiem

0

嘗試改變你的viewpager下面,

<android.support.v4.view.ViewPager 
     android:id="@+id/CardTablepager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:minHeight="600dp" 
     android:layout_weight="1" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

而對於RecyclerView集以下屬性:

recyclerView.setHasFixedSize(true); 
    recyclerView.setNestedScrollingEnabled(false); 
+0

好的嘗試,但仍然是相同的行爲。 – BoazGarty

相關問題