内部的scrollView包含两个视图,一个包含viewPager,另一个包含recyclerView
ViewCompat.setNestedScrollingEnabled(mRvPosts,false);
,但仍然滞后,应用崩溃。 使用分页在滚动时一次加载10张图像。 使用以前的答案,但没有任何解决方案。我知道ScrollView / NestedScrollView内部的recyclerView是问题,因为它不回收recyclerViews项目视图。但是不知道如何实现。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/adsView">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants"
android:focusableInTouchMode="true"
android:orientation="vertical">
<include layout="@layout/content_featured_posts" />
<include layout="@layout/content_recent_posts" />
</LinearLayout>
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
<include
android:id="@+id/adsView"
layout="@layout/content_banner_ad" />
<include layout="@layout/view_common_loader" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lyt_recent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_20dp"
android:visibility="gone">
<TextView
android:id="@+id/recent_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_15dp"
android:layout_toStartOf="@+id/view_all_recent"
android:text="@string/recent_posts"
android:textColor="@color/blue"
android:textSize="15sp" />
<TextView
android:id="@+id/view_all_recent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/margin_14dp"
android:background="?android:attr/selectableItemBackground"
android:gravity="end"
android:text="@string/view_all"
android:textColor="@color/blue"
android:textSize="15sp" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rvRecent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/recent_title"
android:layout_margin="@dimen/margin_10dp"
android:nestedScrollingEnabled="false" />
</RelativeLayout>
java.lang.OutOfMemoryError:尝试抛出OutOfMemoryError时抛出了OutOfMemoryError;没有可用的堆栈跟踪 11-22 13:00:47.468 26842-27769 / com.abc I / art:WaitForGcToComplete被阻塞了2.117s,原因是Alloc 11-22 13:00:47.468 26842-27769 / com.abc I / art:开始阻塞GC Alloc 11-22 13:00:47.468 26842-27769 / com.abc I / art:开始阻塞GC Alloc 11-22 13:00:47.469 26842-28645 / com.abc I / art:等待阻塞的GC Alloc 11-22 13:00:47.470 26842-28589 / com.abc I / art:等待阻塞的GC Alloc 11-22 13:00:47.478 26842-28595 / com.abc I / art:等待阻塞的GC Alloc 11-22 13:00:47.501 26842-27774 / com.abc I / art:等待阻塞的GC Alloc
答案 0 :(得分:0)
尝试将 ScrollView 更改为 NestedScrollView 。然后将 descendantFocusability 从 linearlayout 移至 NestedScrollView 。在我的情况下有效