Ich habe ein Fragment mit einem CoordinatorLayout und FrameLayout, um es mit anderen Fragmenten zu füllen. Eines dieser Fragmente enthält einen RecyclerView. Meine Frage ist, wie RecyclerView mit CoordinatorLayout arbeiten kann, von denen jeder in einer Datei ist. Ich habe versucht, eine NestedScrollView als Fragment Eltern, aber wenn ich dies tun "onBindViewHolder" des Adapters RecyclerView wird für alle Elemente aufgerufen.CoordinatorLayout mit RecyclerView in verschiedenen Fragmenten
Haupt Fragment enthält die CoordinatorLayout
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@color/background">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:elevation="0dp"
app:layout_scrollFlags="scroll|enterAlwaysCollapsed"/>
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/toolbar"
android:background="@color/colorTab"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/container_restaurant"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
Fragment mit RecyclerView
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:background="@color/background"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v7.widget.RecyclerView
android:id="@+id/my_list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v4.widget.NestedScrollView>
Auf diese Weise die Scroll-Werke, aber die "onBindViewHolder" für alle aufgeführten Punkte genannt werden, sind diejenigen, die darunter nicht " sichtbar". Wenn ich ein LinearLayout anstelle von NestedScrollView verwende, funktioniert der "onBindViewHolder" richtig, aber das Scroll-Verhalten ("@ string/appbar_scrolling_view_behavior") mit CoordinatorLayout funktioniert nicht.
Wenn Sie '' NestedScrollView' RecyclerView' zu wickeln. Recycling-Funktion wird nicht funktionieren. Und es wird mehr Speicher und Verzögerungen benötigen. – wonsuc