In meiner Anwendung verwende ich TabHost Activiy.In Tabhost ersten Tab verwende ich TabActivity, ich lade mehr als 500 Bilder.Recyclerview in verschachtelten Bildlaufansicht Laden aller Daten anstelle des Aufrufs eines Bildes beim Scrollen
mit geschachtelten Ansicht blättern:
ich verschachtelte Bildlaufansicht verwendet haben innerhalb recyclerview.When die Homepage geladen wird, wird das Laden alle 500 Bilder zunächst, dann zeigt das Haus page.So, dass es Ursache Speicher aus Fehler.
Ohne verschachtelte Bildlaufansicht mit:
Wenn ich verschachtelte Scroll-Ansicht entfernen, alles funktioniert good.it Lasten Bild eines nach dem anderen, wenn scrolling.it verursacht nicht aus Speicherfehler.
Meine Forderung:
Ich brauche die relative Layout platziert oben auf der recyclerview.So blättern, die ich verschachtelte Scroll verwenden view.But es nicht für mich gearbeitet.
tab_home_layout:
<?xml version="1.0" encoding="utf-8"?>
<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"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
>
<LinearLayout
android:id="@+id/tab_home_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<RelativeLayout
android:id="@+id/home_layout_top_2_recycler"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@drawable/layout_border"
>
<ImageView
android:id="@+id/img_user_home_tab_recycler"
android:layout_width="40dp"
android:layout_height="40dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:layout_centerVertical="true"
android:contentDescription="@string/cont_desc"
android:src="@drawable/profile_pic_blue" />
<TextView
android:id="@+id/tv_user_mind_home_tab_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/img_user_home_tab_recycler"
android:hint="@string/whats_on"
android:textColor="@color/Black"
android:textSize="@dimen/txt_size" />
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_list_tab_home_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none"
android:visibility="visible" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
Im Folgenden werde ich bereit bin zu teilen, was ich bisher ausprobiert.
ich versucht, dieses SO Post .Aber Ich verwende Homepage innerhalb tabActivity.So ich nicht Toolbar + Koordinator layout.So this solution nicht für mich gearbeitet verwenden wurde.
Dann habe ich versucht multiple layout für recyclerview.But zu verwenden, die nicht für me.Because hat gearbeitet, dass relativelayout ein statisch ist one.If ich jede Bedingung aus webservice Mittel bin immer ich mehrere Layout verwenden können Recyclerview.Aber ich brauche , um nur die Ansichten zu scrollen.
ich geplant, um die statische relativelayout in der 0. Position adapter.But meine webservices Bilder eingestellt wurden von der 0. position.So ich lade kann die statische relativelayout in Adapter an der 0. Position nicht festgelegt.
gibt es alternative Lösung, um dieses Problem zu lösen.Vielen Dank.
Haben Sie versucht, 'requestDisallowInterceptTouchEvent()' aus der verschachtelten Ansicht aufzurufen, wenn das Scrollen beginnt? Mehr Infos hier: https://developer.android.com/reference/android/view/ViewGroup.html#requestDisallowInterceptTouchEvent(boolean) und hier: https://developer.android.com/training/gestures/viewgroup.html – milosmns
Btw Vielleicht möchten Sie die Idee der Verwendung von TabActivity überdenken, wie es vor einiger Zeit veraltet wurde https://developer.android.com/reference/android/app/TabActivity.html – milosmns
@milosmns lassen Sie mich requestDisallowInterceptTouchEvent() und überprüfen Sag ich dir später. – Steve