相关疑难解决方法(0)

是否有与RecyclerView相同的addHeaderView?

我正在为回收者视图寻找相当于addHeaderView的东西.基本上我想要一个带有2个按钮的图像作为标题添加到列表视图中.是否有不同的方法将标题视图添加到回收站视图?指导的一个例子会很有帮助

编辑2(添加片段布局):

添加日志语句后,似乎getViewType只接收到0的位置.这导致onCreateView只加载一个布局:

10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? Adapter-> getItemCount: 5
10-26 16:32:53.766    5449-5449/co.testapp I/logger info? …
Run Code Online (Sandbox Code Playgroud)

android android-view android-recyclerview

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

Android 5.0 - 将页眉/页脚添加到RecyclerView

我花了一些时间试图找出一种方法来添加一个标题RecyclerView,但没有成功.这是我到目前为止所得到的:

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...

    layouManager = new LinearLayoutManager(getActivity());
    recyclerView.setLayoutManager(layouManager);

    LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    headerPlaceHolder = inflater.inflate(R.layout.view_header_holder_medium, null, false);
    layouManager.addView(headerPlaceHolder, 0);

   ...
}
Run Code Online (Sandbox Code Playgroud)

LayoutManager似乎是处理的配置对象RecyclerView的项目.因为我无法找到任何addHeaderView(View view)方法,我决定去与LayoutManageraddView(View view, int position)方法,并增加我的头鉴于第一位置,像一个头.

Aaand这是事情变得更加丑陋的地方:

java.lang.NullPointerException: Attempt to read from field 'android.support.v7.widget.RecyclerView$ViewHolder android.support.v7.widget.RecyclerView$LayoutParams.mViewHolder' on a null object reference
    at android.support.v7.widget.RecyclerView.getChildViewHolderInt(RecyclerView.java:2497)
    at android.support.v7.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:4807)
    at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:4803)
    at com.mathieumaree.showz.fragments.CategoryFragment.setRecyclerView(CategoryFragment.java:231)
    at com.mathieumaree.showz.fragments.CategoryFragment.access$200(CategoryFragment.java:47)
    at com.mathieumaree.showz.fragments.CategoryFragment$2.success(CategoryFragment.java:201)
    at com.mathieumaree.showz.fragments.CategoryFragment$2.success(CategoryFragment.java:196)
    at retrofit.CallbackRunnable$1.run(CallbackRunnable.java:41)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135) …
Run Code Online (Sandbox Code Playgroud)

java android android-5.0-lollipop android-recyclerview

120
推荐指数
7
解决办法
12万
查看次数

使用SpanSizeLookup为GridLayoutManager中的项设置范围

我想用节标题实现类似网格的布局.想想https://github.com/TonicArtos/StickyGridHeaders

我现在应该做什么:

mRecyclerView = (RecyclerView) view.findViewById(R.id.grid);
mLayoutManager = new GridLayoutManager(getActivity(), 2);
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                switch(mAdapter.getItemViewType(position)){
                    case MyAdapter.TYPE_HEADER:
                        return 1;
                    case MyAdapter.TYPE_ITEM:
                        return 2;
                    default:
                        return -1;
                }
            }
        });

mRecyclerView.setLayoutManager(mLayoutManager);
Run Code Online (Sandbox Code Playgroud)

现在常规项和标题的跨度大小为1.我该如何解决这个问题?

android android-support-library gridlayoutmanager android-recyclerview

84
推荐指数
2
解决办法
4万
查看次数

带有ProgressBar的Endless RecyclerView用于分页

我正在使用一个RecyclerView并从API获取对象,批量为十.对于分页,我使用EndlessRecyclerOnScrollListener.

一切正常.现在剩下的就是在列表底部添加一个进度微调器,同时由API提取下一批对象.以下是Google Play商店应用的屏幕截图,其中显示了以下ProgressBar内容RecyclerView:

在此输入图像描述

问题是,在获取下一批对象时,既RecyclerView没有EndlessRecyclerOnScrollListener内置支持也没有显示ProgressBar底部的内置支持.

我已经看到了以下答案:

1. 将不确定的ProgressBar页脚放在RecyclerView网格中.

2. 添加项目到无尽的滚动RecyclerViewProgressBar在底部.

我不满意这些答案(由同一个人).这涉及null 在用户滚动时中途将对象拴入数据集中,然后在下一批次交付后将其取出.它看起来像是一个黑客,可以回避主要问题,可能会或可能不会正常工作.它会在列表中引起一些刺耳和失真

使用SwipeRefreshLayout不是解决方案.SwipeRefreshLayout涉及从顶部拉取以获取最新的项目,并且它无论如何都不显示进度视图.

有人可以为此提供一个很好的解决方案吗?我有兴趣知道Google是如何为自己的应用程序实现此功能的(Gmail应用程序也有此功能).是否有任何文章详细显示?所有的答案和评论将不胜感激.谢谢.

其他一些参考:

1. 分页RecyclerView.(精湛的概述......)

2. RecyclerView页眉和页脚.(更多相同......)

3. 无尽RecyclerViewProgressBar在底部.

android android-listview android-progressbar android-5.0-lollipop android-recyclerview

57
推荐指数
3
解决办法
4万
查看次数

"GONE"观点是否会对绩效产生不利影响?

我正在创建一个应用程序,它可以节省我一些时间来为几个活动设置单个布局,其中一些视图根据正在使用的活动设置为GONE.

我知道在布局中包含大量视图会导致性能不佳.如果我有一个包含大量视图的活动,但这些视图的很大一部分是GONE,那么这个活动的表现仍然不佳.也就是说,设置为GONE的视图是否会导致性能恶化?如果是,他们是否要求比VISIBLE或INVISIBLE视图更少的处理能力?

谢谢!

layout android android-view

37
推荐指数
2
解决办法
6566
查看次数

如何在recyclerview中实现粘性页脚

我有RecyclerView,我需要下一个行为:

  • 如果有很多项目(更多适合屏幕) - 页脚是最后一项
  • 如果项目/没有项目 - 页脚位于屏幕底部

请告知我该如何实现此行为.

android footer android-recyclerview

19
推荐指数
2
解决办法
6019
查看次数

将TextView附加到RecyclerView

我意识到以下是不正确的,但我想你可以把它当作伪代码.我想知道,如何将整个布局"附加"到我的RecyclerView上,这样当我向下滚动布局时,它会随着它滚动出来.目前,RecyclerView上方的TextView固定在屏幕上,而我的RecyclerView中的所有数据都是可滚动的.当用户向下滚动页面时,我希望TextView移出视线.如果您查看Instagram,当您向下滚动页面时,图库顶部的所有用户个人资料信息都会消失.我怎样才能做到这一点?如何以编程方式添加TextView?

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="Hello!" />

<android.support.v7.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="?android:attr/actionBarSize"
    android:padding="@dimen/item_margin"
    android:id="@+id/recycler_view"
    android:clipToPadding="false">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Hello!" />

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

java xml android android-recyclerview recyclerview-layout

9
推荐指数
3
解决办法
7001
查看次数

android recyclerview加载更多按钮

是否有一个教程/示例包含一个带有recyclerview的加载更多按钮?我需要在recyclerview中显示8个元素后添加一个按钮.用户可以单击此按钮以加载下8个内容.

android android-recyclerview

4
推荐指数
1
解决办法
7154
查看次数