相关疑难解决方法(0)

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万
查看次数

嵌套的RecyclerView.如何在子级RecyclerView滚动时阻止父级RecyclerView滚动?

我正在尝试实现一个水平recyclerview,每个项目recyclerview将是一个垂直recyclerview的网格布局.我面临的问题是,当我尝试recyclerview垂直滚动子项时,父项recyclerview会抓取滚动并开始水平滚动.我尝试解决这个问题的方法是,

  1. setNestedScrollingEnabled(false) 在父母身上 recyclerview
  2. onTouch()孩子的recyclerviewrecyclerview通过调用禁用父亲的触摸事件requestdisallowinterceptTouchevent(false)

以上解决方案都没有为问题提供完美的解决方案.任何帮助表示赞赏

android android-recyclerview nestedrecyclerview

28
推荐指数
6
解决办法
2万
查看次数

在NestedScrollView中使用RecyclerView的ItemTouchHelper:拖动滚动不起作用

我已经实现了如下所述的ItemTouchHelper:https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-b9456d2b1aaf#.k7xm7amxi

如果RecyclerView是CoordinatorLayout的子项,则一切正常.

但是如果RecyclerView是CoordinatorLayout中NestedScrollView的子代,则拖动滚动不再起作用.拖动项目并将其移动到屏幕的顶部或底部,RecyclerView不会像它不是NestedScrollView的子项那样滚动.

有任何想法吗?

android android-recyclerview android-nestedscrollview itemtouchhelper

9
推荐指数
1
解决办法
860
查看次数