标签: android-recyclerview

如何在Android RecyclerView中添加分隔线?

我正在开发一个我正在使用的Android应用程序RecyclerView.我需要添加一个分压器RecyclerView.我试着添加 -

recyclerView.addItemDecoration(new
     DividerItemDecoration(getActivity(),
       DividerItemDecoration.VERTICAL_LIST));
Run Code Online (Sandbox Code Playgroud)

下面是我的xml代码 -

   <android.support.v7.widget.RecyclerView
    android:id="@+id/drawerList"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    />
Run Code Online (Sandbox Code Playgroud)

android material-design android-recyclerview

199
推荐指数
14
解决办法
17万
查看次数

如何禁用RecyclerView滚动?

我无法禁用滚动RecyclerView.我试着打电话rv.setEnabled(false)但我仍然可以滚动.

如何禁用滚动?

android scroll android-recyclerview

193
推荐指数
17
解决办法
16万
查看次数

滚动RecyclerView以在顶部显示所选项目

我正在寻找一种滚动方式以RecyclerView在顶部显示所选项目的方法.

ListView我能够通过这样做,scrollTo(x,y)并获得了需要为中心元素的顶部.

就像是:

@Override
public void onItemClick(View v, int pos){
    mylistView.scrollTo(0, v.getTop());
}
Run Code Online (Sandbox Code Playgroud)

问题是RecyclerView当使用它的scrollTo方法时返回错误

RecyclerView不支持滚动到绝对位置

如何滚动a RecyclerView以将所选项目放在视图顶部?

android scroll android-recyclerview

192
推荐指数
12
解决办法
18万
查看次数

如何在NestedScrollView中使用RecyclerView?

RecyclerView里面怎么用NestedScrollViewRecyclerView设置适配器后内容不可见.

UPDATE布局代码已更新.

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

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

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/keyline_1">

    </RelativeLayout>

    <View
        android:id="@+id/separator"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#e5e5e5" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/conversation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

</android.support.v4.widget.NestedScrollView>
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

189
推荐指数
13
解决办法
17万
查看次数

使用RecyclerView和GridLayoutManager的简单Android网格示例(就像旧的GridView一样)

我知道,RecyclerView已经取代了旧的功能ListViewGridView.我正在寻找一个非常基本的例子,它显示了使用的最小网格设置RecyclerView.我不是在寻找长篇教程风格的解释,只是一个最小的例子.我想最简单的模仿旧GridView的网格将包含以下功能:

  • 每行多个单元格
  • 每个单元格中的单个视图
  • 响应点击事件

android gridview gridlayoutmanager android-recyclerview

181
推荐指数
5
解决办法
20万
查看次数

如何使WRAP_CONTENT在RecyclerView上运行

我有一个DialogFragment包含RecyclerView(卡片列表).

其中RecyclerView一个或多个CardViews可以具有任何高度.

我想DialogFragment根据CardViews其中包含的内容给出正确的高度.

通常情况下,这将是简单的,我会成立wrap_contentRecyclerView这个样子.

<android.support.v7.widget.RecyclerView ...
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/recycler_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"   
    android:clickable="true"   
    android:scrollbars="vertical" >

</android.support.v7.widget.RecyclerView>
Run Code Online (Sandbox Code Playgroud)

因为我使用的RecyclerView这个不起作用,请看:

https://issuetracker.google.com/issues/37001674

嵌套的Recycler视图高度不会包装其内容

在这两个页面上,人们建议扩展LinearLayoutManager和覆盖onMeasure()

我首先使用了第一个链接中提供的LayoutManager:

public static class WrappingLayoutManager extends LinearLayoutManager {

        public WrappingLayoutManager(Context context) {
            super(context);
        }

        private int[] mMeasuredDimension = new int[2];

        @Override
        public void onMeasure(RecyclerView.Recycler recycler, RecyclerView.State state,
                              int widthSpec, int heightSpec) {
            final int widthMode = View.MeasureSpec.getMode(widthSpec);
            final …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-fragments android-studio android-recyclerview

176
推荐指数
8
解决办法
12万
查看次数

嵌套的Recycler视图高度不会包装其内容

我有一个应用程序来管理书籍集(如播放列表).

我想显示一个带有垂直RecyclerView的集合列表,并在每行内部显示一个水平RecyclerView中的书籍列表.

当我将内部水平RecyclerView的layout_height设置为300dp时,它会正确显示,但是当我将其设置为wrap_content时,它不会显示任何内容. 我需要使用wrap_content,因为我希望能够以编程方式更改布局管理器以在垂直和水平显示之间切换.

在此输入图像描述

你知道我做错了什么吗?

我的片段布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/white">

    <com.twibit.ui.view.CustomSwipeToRefreshLayout
        android:id="@+id/swipe_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

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

            <android.support.v7.widget.RecyclerView
                android:id="@+id/shelf_collection_listview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingTop="10dp"/>

        </LinearLayout>

    </com.twibit.ui.view.CustomSwipeToRefreshLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

集合元素布局:

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

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="#FFF">

        <!-- Simple Header -->

    </RelativeLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="@string/empty_collection"
            android:id="@+id/empty_collection_tv"
            android:visibility="gone"
            android:gravity="center"/>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/collection_book_listview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/> <!-- android:layout_height="300dp" -->

    </FrameLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

书目项目:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="180dp"
              android:layout_height="220dp"
              android:layout_gravity="center">

        <ImageView
            android:id="@+id/shelf_item_cover"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:maxWidth="150dp"
            android:maxHeight="200dp"
            android:src="@drawable/placeholder"
            android:contentDescription="@string/cover"
            android:adjustViewBounds="true"
            android:background="@android:drawable/dialog_holo_light_frame"/> …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-support-library android-studio android-recyclerview

172
推荐指数
10
解决办法
10万
查看次数

ScrollView内的Recyclerview无法顺利滚动

对于我的应用程序,我使用的是一个RecyclerView内部ScrollView,其RecyclerView高度基于其内容使用此库.滚动工作正在进行,但滚动时滚动不顺畅RecyclerView.当我滚动ScrollView它自己时,它滚动顺畅.

我用来定义的代码RecyclerView:

LinearLayoutManager friendsLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext(), android.support.v7.widget.LinearLayoutManager.VERTICAL, false);
mFriendsListView.setLayoutManager(friendsLayoutManager);
mFriendsListView.addItemDecoration(new DividerItemDecoration(getActivity().getApplicationContext(), null));
Run Code Online (Sandbox Code Playgroud)

RecyclerViewScrollView:

<android.support.v7.widget.RecyclerView
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:id="@+id/friendsList"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

android android-scrollview android-scroll android-recyclerview

169
推荐指数
8
解决办法
9万
查看次数

如何滚动到RecyclerView的底部?scrollToPosition不起作用

我想在加载活动后滚动到RecyclerView列表的底部.

GENERIC_MESSAGE_LIST = (ArrayList) intent.getExtras().getParcelableArrayList(ConversationsAdapter.EXTRA_MESSAGE);
conversationView = (RecyclerView) findViewById(R.id.list_messages);
conversationView.setHasFixedSize(true);
conversationViewLayoutManager = new LinearLayoutManager(this);
conversationView.setLayoutManager(conversationViewLayoutManager);
conversationViewAdapter = new ConversationAdapter(GENERIC_MESSAGE_LIST, this);
conversationView.setAdapter(conversationViewAdapter);
Run Code Online (Sandbox Code Playgroud)

conversationView.scrollTo(...)抛出了一个关于在RecyclerView中不受支持的例外,并且conversationView.scrollToPosition(...)似乎没有做任何事情.

在上面的代码块之后,我补充道

conversationView.scrollToPosition(GENERIC_MESSAGE_LIST.size() + 1)
Run Code Online (Sandbox Code Playgroud)

这不起作用.有30个元素GENERIC_MESSAGE_LIST.

java android scroll android-recyclerview

144
推荐指数
13
解决办法
15万
查看次数

如何从XML设置RecyclerView app:layoutManager =""?

如何从XML 设置RecyclerView layoutManager?

    <android.support.v7.widget.RecyclerView
        app:layoutManager="???"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
Run Code Online (Sandbox Code Playgroud)

xml android android-recyclerview androidx

143
推荐指数
4
解决办法
7万
查看次数