Tag: android recyclerview

使用RecyclerView跨多个列

所以我想要的是有一个交错的布局,但列表中的第一项需要跨越两列。 前两行也是固定的高度。 除了第一个项目跨越两列,我有一切工作。 我正在使用StaggeredGridLayoutManager的RecyclerView.Adapter。 看起来好像不是开箱即用的function。 我想我可以做一个自定义布局pipe理器,我只是不知道从哪里开始。 我试过search,但我找不到有关如何获取项目跨越多个列的任何内容。 下面的图片是我在列表中寻找的东西。

CoordinatorLayout使用ViewPager的RecyclerView

我正在使用android.support.design的视图CoordinatorLayout 。 我想附加app:layout_behavior到片段的RecyclerView ? 在Google给出的例子中,他们只将其附加到与CoordinatorLayout相连的同一XML文件的RecyclerView中。 有没有办法将CoordinatorLayout附加到ViewPager的片段的RecyclerView ? 该示例位于Android开发人员博客的此博客文章中。

如何在一个父RecyclerView里面有一个ListView / RecyclerView?

我想添加一些子视图(列表项),从JSON格式的数据来我。 每个子列表都在父列表项行的下面。 如何在RecyclerView为每个行项目填充它(带有子列表项目的父项目)? 我已经尝试在RecyclerView父行(用于填充子列表)中使用RecyclerView ,但在这里子视图不可见。 父适配器类 public class DigitizedPrescAdapter extends RecyclerView.Adapter<DigitizedPrescAdapter.ListItemViewHolder>{ private List<PrescriptionModal> prescriptionList; MedicinesInPrescAdapter adapter; public DigitizedPrescAdapter(List<PrescriptionModal> prescriptionListModal) { if (prescriptionListModal == null) { throw new IllegalArgumentException( "PrescriptionList must not be null"); } this.prescriptionList = prescriptionListModal; } @Override public ListItemViewHolder onCreateViewHolder( ViewGroup viewGroup, int viewType) { View itemView = LayoutInflater. from(viewGroup.getContext()). inflate(R.layout.item_row_digitised_request, viewGroup, false); […]

使用RecyclerView错误:指定的子项已经有父项

我正在尝试使用新的RecyvlerView适配器创build一个listView。 我已经遵循了Android开发人员资源上的精确指南。 但是这给了我一个奇怪的错误: 指定的孩子已经有一个父母。 您必须先调用子对象的父对象的removeView()。 我有最新的SDK。 我也在Gradle中定义了依赖关系。 MyActivity (主要活动): public class MyActivity extends Activity { private RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; private RecyclerView.LayoutManager mLayoutManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view); // use this setting to improve performance if you know that changes // in content do not change the […]

无尽的RecyclerView与ProgressBar分页

我正在使用一个RecyclerView并从API中以十个批次的方式获取对象。 对于分页,我使用EndlessRecyclerOnScrollListener 。 这一切正常工作。 现在剩下的就是在列表底部添加一个进度微调器,而下一批对象由API提取。 以下是Google Play商店应用程序的屏幕截图,其中显示了ProgressBar中肯定是RecyclerView : 问题是, RecyclerView和EndlessRecyclerOnScrollListener都没有内置的支持,在下一批对象被提取时在底部显示ProgressBar 。 我已经看到了以下答案: 1. 将不确定的ProgressBar作为页脚放置在RecyclerView网格中 。 2. 将项目添加到底部的ProgressBar Endless Scroll RecyclerView 。 我不满意这些答案(由同一个人)。 这涉及在用户正在滚动时在数据集的中途阻塞一个null对象,然后在下一批次交付之后将其取出。 它看起来像一个黑客,回避可能或可能无法正常工作的主要问题。 这会导致列表中的一些干扰和失真 使用SwipeRefreshLayout不是一个解决scheme。 SwipeRefreshLayout涉及到从顶端拉取新的项目,它并不显示进度视图。 有人可以提供一个很好的解决scheme吗? 我有兴趣了解Google如何为自己的应用程序实现这个function(Gmail应用程序也有这个function)。 有没有什么文章详细显示? 所有的答案和评论将不胜感激。 谢谢。 其他一些参考 : 1. 与RecyclerView分页 。 (非常棒的概述…) 2. RecyclerView页眉和页脚 。 (更多相同…) 3. 无限的RecyclerView与ProgressBar在底部 。

将不确定的进度条作为页脚放置在RecyclerView网格中

如何获得不确定的循环指标“向上滚动以加载更多”在网格RecycleView? 在这里描述的模式: http : //www.google.com/design/spec/components/progress-activity.html#progress-activity-behavior “两阶段负载”和“例2:向上滚动以加载更多“示例video。 我试图用新的RecyclerView完成这个工作,但是我找不到一个“不要太冒昧”的方法来做到这一点,首先是因为没有办法添加一个覆盖整个网格的页脚。 有什么build议么?

RecyclerView – 在特定位置获取视图

我有一个RecyclerView和一个ImageView 。 我正在使用RecyclerView来水平显示图像列表。 当我点击RecyclerView的ImageView时,活动中的ImageView应该会显示更大的图像。 到目前为止一切正常。 现在活动中还有两个ImageButtons : imageButton_left和imageButton_right 。 当我点击imageButton_left , ImageView中的ImageView应该向左转,而RecyclerView的缩略图也应该反映这个改变。 与imageButton_right类似。 我能够旋转ImageView 。 但是,如何在RecyclerView旋转缩略图? 我怎样才能得到ViewHolder的ImageView ? 码: 活动XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:orientation="vertical"> <ImageView android:id="@+id/original_image" android:layout_width="200dp" android:layout_height="200dp" android:scaleType="fitXY" android:src="@drawable/image_not_available_2" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:gravity="center_horizontal" android:orientation="horizontal"> <ImageButton android:id="@+id/imageButton_left" […]

使用ItemTouchHelper.SimpleCallback禁用Swipe在RecyclerView中的位置

我正在使用recyclerview 22.2.0和辅助类ItemTouchHelper.SimpleCallback来启用滑动到解除选项到我的列表。 但是,因为我有一个types的标题,我需要禁用适配器的第一个位置的滑动行为。 由于RecyclerView.Adapter没有一个isEnabled()方法,我尝试通过ViewHolder创build本身中的方法isEnabled()和isFocusable()禁用视图交互,但没有成功。 我尝试将滑动阈值调整为完全值,如SimpleCallback方法getSwipeThreshold()中的0f ot 1f ,但是也没有成功。 我的代码的一些片段,以帮助你来帮助我。 我的活动: @Override protected void onCreate(Bundle bundle) { //… initialization ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) { @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { return false; } @Override public float getSwipeThreshold(RecyclerView.ViewHolder viewHolder) { if (viewHolder instanceof CartAdapter.MyViewHolder) return 1f; return super.getSwipeThreshold(viewHolder); } […]

使用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内部,我有四个button(其中包括),我想单击一个特定的button( R.id.bt_deliver )。 我想使用Espresso 2.0的新function,但我不确定这是可能的。 如果不行的话,我想用这样的东西(使用Thomas Keller代码): onRecyclerItemView(R.id.card_view, ???, withId(R.id.bt_deliver)).perform(click()); 但是我不知道要把什么放在问号上。

RecyclerView和SwipeRefreshLayout

我在SwipeRefreshLayout使用了新的RecyclerView-Layout ,并且遇到了一个奇怪的行为。 当滚动列表返回到顶部有时顶部的视图被切入。 如果我现在尝试滚动到顶部 – 拉到刷新触发器。 如果我尝试删除回收站周围的刷卡刷新布局 – 查看问题已经消失。 而且可以在任何手机上重现(不仅是L-Preview设备)。 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/contentView" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone"> <android.support.v7.widget.RecyclerView android:id="@+id/hot_fragment_recycler" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout> 这是我的布局 – 行由RecyclerViewAdapterdynamic构build(2列表中的Viewtypes)。 public class HotRecyclerAdapter extends TikDaggerRecyclerAdapter<GameRow> { private static final int VIEWTYPE_GAME_TITLE = 0; private static final int VIEWTYPE_GAME_TEAM = 1; @Inject Picasso picasso; public HotRecyclerAdapter(Injector injector) { super(injector); } @Override […]