当前位置: 首页 > 知识库问答 >
问题:

落后再循环视图

路裕
2023-03-14

我的循环视图滚动太慢了。当我通过触摸Recyclerview开始滚动时,它会滞后,但当从上方的视图开始滚动时不会滞后。我还禁用了recyclerview上的嵌套滚动。

这是我的布局:

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

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical"
        android:overScrollMode="never">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:focusable="true"
            android:focusableInTouchMode="true">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="200dp"
                android:text="HAHHAHA"/>

            <android.support.v7.widget.RecyclerView
                android:id="@+id/mRecyclerViewMain"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"
                android:background="@android:color/transparent">

            </android.support.v7.widget.RecyclerView>


        </LinearLayout>

    </android.support.v4.widget.NestedScrollView>


</FrameLayout>

这是一个滞后的视频。就像滚动跳过了一些布局。

共有1个答案

郑宏朗
2023-03-14

像这样修改您的xml:

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


                    <android.support.v7.widget.RecyclerView
                        android:id="@+id/mRecyclerViewMain"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        app:layout_behavior="@string/appbar_scrolling_view_behavior"
                        android:background="@android:color/transparent">

                    </android.support.v7.widget.RecyclerView>

        </FrameLayout>

并在recyclerView的标题中设置textView,它将解决您的问题

<TextView
                android:layout_width="match_parent"
                android:layout_height="200dp"
                android:text="HAHHAHA"/>

在适配器类中为标题和项目列表设置视图类型

@Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if (layoutInflater == null)
            layoutInflater = LayoutInflater.from(parent.getContext());

        if (viewType == 0) {
            // bind your headerview
        }
        if (viewType == 1) {
            //bind your recyclerview
        } 
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        if (holder instanceof HeaderHolder)
            // viewHolder for header view
        if (holder instanceof ListHolder) {
            // viewholder for list
        } 
    }

使用它,您可以通过viewType

@Override
    public int getItemViewType(int position) {

        if (position == 0)
            return 0;
        else if (ArrayList.size() == 0)
            return 1;

    }
 类似资料:
  • 我尝试使用Reform2执行recyclerView,但我在代码中执行了:recyclerView适配器构造函数,并且我在此行的MainActivity部分中得到了一个错误-“(flowersList,this)”:我得到了错误:列出匿名Reform2。回调函数 我的代码我的主要活动是: RecycleServiceWFlowerAdapter中的代码是: } 我在RecycleServiceWh

  • 我想在点击recyclerview项目时更新Imageview的图像。下面我发布了我的布局截图: 小图像在recycler视图中,大绿色图像在recycler视图之外。 }//这是活动类 } 我想,当用户点击任何回收器视图时,图像意味着小图像,它将显示在回收器视图之外的大图像视图中。

  • 问题内容: 为什么每当我将ajax放入for循环中时,它都无法很好地同步? 例如,我的代码是: 为什么它先调用Ajax查询?是否有可能让ajax查询在继续之前完成?因为它在完成填充之前就清除了数组。:/ 问题答案: 首先,您确实需要了解Ajax调用是如何异步的(这就是Ajax中的“ A”所代表的意思)。这意味着调用仅启动ajax调用(它将请求发送到服务器),其余代码愉快地继续运行。有时,在其余代码

  • 我想确定回收站视图中最明显的项目,因此我使用以下方法: 它工作得很好,但是在我更改数据集,并在我的适配器中调用任何方法后,如果我尝试使用上述函数,则和返回的项目位置是错误的。 我注意到他们都在幕后使用getlayoutposition,我还注意到在文档上写着: 听起来好像正是我正在寻找的,但我不知道如何从中访问它。 有什么想法吗? 谢谢你。

  • 实现循环ScrollView。有以下特色: 1、循环的scrollview 2、类似于tableview的编程方式 3、可定制化的内容 4、灵活运用可用于移步加载图片 5、结构化,可扩展性高 [Code4App.com]

  • 最近,在一次全栈开发人员面试中,我看到了一段被问到的代码。它包括创建一个Promise(候选人应该在其中实现)、传递一个resolve函数,以及链接2 then的。 我非常天真地尝试实现promise,只是为了让代码工作。创建了一个接受解析器函数的ctor,创建了一个接受回调并返回promise的Then函数,并简单地对解析器函数调用回调。 预期的结果是2,4-就像用真正的promise操作一样。