标签: android-recyclerview

如何在RecyclerView中更新/刷新特定项目

我正在尝试刷新特定项目RecyclerView.

故事:每当用户点击项目时,它都会显示AlertDialog.用户可以通过单击确定按钮键入一些文本.我想在这个项目中显示这个文本并显示不可见ImageView- 在XML和适配器中声明ViewHolder-

我在AlertDialogPositive Button中使用此函数来更新项目:

private void updateListItem(int position) {
  View view = layoutManager.findViewByPosition(position);
  ImageView medicineSelected = (ImageView) view.findViewById(R.id.medicine_selected);
  medicineSelected.setVisibility(View.VISIBLE);
  TextView orderQuantity = (TextView) view.findViewById(R.id.order_quantity);
  orderQuantity.setVisibility(View.VISIBLE);
  orderQuantity.setText(quantity + " packet added!");

  medicinesArrayAdapter.notifyItemChanged(position);
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码不仅改变了传递位置的itemView,还改变了其他一些itemView(s)!

如何通过单击更改特定的itemView?

android android-adapter recycler-adapter android-recyclerview

96
推荐指数
5
解决办法
15万
查看次数

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

有没有办法在代码中为RecyclerView启用滚动条?

正如我们所看到的,RecyclerView比ListView更有效,所以我更喜欢在我的项目中使用它.但是最近我把它放在我的自定义ViewGroup中时遇到了麻烦.RecyclerView很容易在xml中设置滚动条,如下所示:

<android.support.v7.widget.RecyclerView
    android:id="@+id/recycler_view"
    android:scrollbars="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)

但我真的找不到任何方法在RecyclerView的代码中设置滚动条,我试过的是:

mRecyclerView.setVerticalScrollBarEnabled(true);
Run Code Online (Sandbox Code Playgroud)

然后我在Android的文档中看到了这一点.

所以我试着制作自己的LayoutManager并覆盖我认为需要的功能.但最后我失败了.所以任何人都可以告诉我如何制作自己的LayoutManager或者只是向我展示其他解决方案.谢谢!

android scrollbars android-recyclerview

94
推荐指数
6
解决办法
7万
查看次数

获取已点击的项目及其在RecyclerView中的位置

我正在替换我ListViewRecyclerView,列表显示确定,但我想知道如何获得点击项目及其位置,类似于OnItemClickListener.onItemClick(AdapterView parent, View v, int position, long id)我们使用的方法ListView.

谢谢你的想法!

android listview recycler-adapter android-recyclerview

94
推荐指数
6
解决办法
20万
查看次数

使用RecyclerView的可扩展列表?

可以在新的RecyclerView中使用可扩展列表项吗?像ExpandableListView一样?

android android-recyclerview

92
推荐指数
3
解决办法
7万
查看次数

使用Espresso单击RecyclerView项目内的视图

如何使用Espresso单击RecyclerView项目中的特定视图?我知道我可以点击位置0处的项目:

onView(withId(R.id.recyclerView)) .perform(RecyclerViewActions.actionOnItemAtPosition(0, click()));

但是我需要点击该项目内的特定视图而不是项目本身.

提前致谢.

- 编辑 -

更确切地说:我有一个RecyclerView(R.id.recycler_view)项目是CardView(R.id.card_view).在每个CardView内部,我有四个按钮(除其他外),我想点击一个特定的按钮(R.id.bt_deliver).

我想使用Espresso 2.0的新功能,但我不确定是否可行.

如果不可能,我想使用这样的东西(使用托马斯凯勒代码):

onRecyclerItemView(R.id.card_view, ???, withId(R.id.bt_deliver)).perform(click());
Run Code Online (Sandbox Code Playgroud)

但我不知道该在问号上放些什么.

android android-espresso android-recyclerview

92
推荐指数
5
解决办法
4万
查看次数

在Android 5.0上尝试使用RecyclerView时应用程序崩溃

我正在尝试使用新的RecyclerView,每当我尝试运行它时,我的应用程序立即崩溃.它为我提供了尝试访问方法的NullPointerException android.support.v7.widget.RecyclerView.我看过其他帖子,看到大多数人都没有,compile 'com.android.support:recyclerview-v7:+'但我尝试了,但根本没用.目前还不确定该做什么,任何帮助都将不胜感激.这里的错误日志:(我会张贴一张图片,但我还没有10个代表)

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView$LayoutManager.onMeasure(android.support.v7.widget.RecyclerView$Recycler, android.support.v7.widget.RecyclerView$State, int, int)' on a null object reference
        at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:1764)
        at android.view.View.measure(View.java:17430)
        at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727)
        at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463)
        at android.view.View.measure(View.java:17430)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
        at android.view.View.measure(View.java:17430)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
        at android.view.View.measure(View.java:17430)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
        at android.view.View.measure(View.java:17430)
        at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:851)
        at android.view.View.measure(View.java:17430)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
        at android.view.View.measure(View.java:17430)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
        at android.view.View.measure(View.java:17430)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
        at android.view.View.measure(View.java:17430) …
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-5.0-lollipop android-recyclerview

90
推荐指数
5
解决办法
9万
查看次数

在嵌套Scrollview滚动内的Recyclerview,但不像普通的Recyclerview或Nested Scrollview那样快速滚动

我在RecyclerView里面使用NestedScrollView,它的工作原理.但是当我使用RecyclerView内部LinearLayout或其他东西时,它会根据手势以不同的速度滚动.滚动听手势,如果我只滑了一下,那么滚动一点,如果我快速向上滑动,那么它滚动得非常快.现在我的问题是RecyclerView内部NestedScrollView肯定滚动但快速滚动不起作用.但是我快速或慢速滑动,RecyclerViewNestedScrollView只滚动一点点.

如何使滚动视图中的内部NestedScrollViewRecyclerView内部以各种速度滚动?

android android-recyclerview android-nestedscrollview

90
推荐指数
4
解决办法
6万
查看次数

如何为RecyclerView创建上下文菜单

如何实现上下文菜单RecyclerView?显然调用registerForContextMenu(recyclerView)不起作用.我是从片段中调用它的.有没有人有成功实现这个?

android contextmenu android-recyclerview

89
推荐指数
8
解决办法
7万
查看次数

如何导入RecyclerView for Android L-preview

尝试使用支持库中的新RecyclerView.我使用SDK管理器下载了支持库的20更新.

我已经将jar文件添加到libs文件夹中 - 并添加到构建路径 - 使用RecyclerView没有运气.

根据Android Developer的API尝试使用gradle依赖- 不确定这是否适合查看 - 此页面更多与AndroidTV相关:

 com.android.support:recyclerview-v7:20.0.+
Run Code Online (Sandbox Code Playgroud)

无法同步项目.

有任何想法吗?

android gradle android-5.0-lollipop android-recyclerview

87
推荐指数
4
解决办法
20万
查看次数