Articles of android recyclerview

Android:如何在位置(从适配器外部)访问viewholder

我有一个Recycler视图适配器。 所以它拥有3个视图。 只需每个视图都有ImageView。 当用户点击图像时(3个中的1个)它创建了使用照片应用程序的新意图,并在完成后将其返回给调用者。 调用者(创建RecyclerView及其适配器的activity)处理onActivityResult。 从那里我需要将所提到的意图中的缩略图设置为相应的选定ImageView。 题。 在我的Activity中,我如何知道要修改哪个imageView(可用3个)? 我的活动只知道回收器视图适配器中的哪个项目被点击的位置。 是否有可能通过仅使用位置以某种方式获得对适配器中特定imageView的引用? 所以像这样:来自activity: adapter.getImageView(position) 编辑:所以我的解决方案是:我正在跟踪适配器中的所有ImageViews并将它们的ref存储在`onBindViewHolder中的ArrayList中。 所以现在我可以使用adapter.getImageView(position)

Android RecyclerView CardView StaggedGridLayoutManager:独立列滚动

我有“常规”实现StaggedGridLayoutManager 。 是否可以实现独立的列滚动? 例如,用户将触摸并滚动右列,以便其他列不会移动? 更进一步:当滚动右列时,其他列也将同步滚动但速度较慢? (这与Expedia App中的内容类似)。 谢谢,

RecyclerView在滚动时弄乱了数据

滚动向下和向上滚动RecyclerView时遇到问题。 这个想法是改变元素的颜色,但是当我向下滚动时,一切都很棒,当滚动向上时 – 不应该着色的元素会改变颜色。 这是我的适配器: public class NotificationsAdapter extends RecyclerView.Adapter { private NotificationData notificationData; private Context mContext; private ArrayList infromationList = new ArrayList(); public NotificationsAdapter(Context context, ArrayList infromationList) { this.infromationList = infromationList; this.mContext = context; } @Override public NotificationsAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemLayoutView; ViewHolder viewHolder; itemLayoutView = LayoutInflater.from(parent.getContext()) .inflate(R.layout.notification_single_item, parent, false); viewHolder […]

Android Recycle View LogCat:找不到方法

我使用Android支持库中的RecyclerView。 在使用Android 4.1.2(API 16)的三星Galaxy S2上运行时,一切正常,但在Logcat中我看到了消息: 03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.isUpdated ()Z from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.isUpdated, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 03-24 W/dalvikvm: VFY: unable to resolve virtual method 16775: Landroid/support/v7/widget/RecyclerView$ViewHolder;.isUpdated ()Z 03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x0031 03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.flagRemovedAndOffsetPosition (IIZ)V […]

CoordinatorLayout中的RecyclerView在方向更改后丢失其顶部填充

我正在使用Support Design Library rev。 23.0.1(以及22.2.1)。 问题是在活动方向改变之后,如果已经滚动了RecyclerView(放置在片段中),它会丢失其顶部填充,这可能等于StatusBar Height + AppBar Height(如图所示)。 有关详情, 请参阅此示例video 这是我的活动布局 一个简单的片段包含RecyclerView 顺便说一句,我发现了一些以下问题,但这些答案并没有解决我的问题。 我也试过这里和这里描述的方法,但它没有效果,或者我做错了什么。 谢谢你的帮助!

如何查看RecyclerView + PagerSnapHelper

我正在使用带有PagerSnapHelper的水平RecyclerView使其看起来像ViewPager 。 它正在显示CardViews 。 我的问题是,我怎样才能让它显示下一张和上一张卡的边缘? 用户需要查看一些这样的卡片,以便他们直观地理解他们需要水平滑动以便他们可以查看其他卡片。 我还要注意,当前的卡片总是需要居中,即使对于第一张卡片也是如此,左边没有先前的卡片偷看。 此外,设计要求不受我的控制; 我需要偷看,我不能使用点指示器或其他任何东西。 我可以使用LinearSnapHelper并使卡片的宽度更小,但是1)第一项将左对齐而不是居中,因为左侧没有卡片偷看和2)每张卡片显示的数量会有所不同根据手机的宽度。 这似乎应该是一个普通而简单的任务,所以我希望我遗漏了一些明显的事情来实现它。

中心水平最后一行使用span Recycler GridLayoutManager

我试图在回收站视图中使最后一行中心的项目水平。 我正在使用GridLayoutManager来实现该function。 使用setSpanSizeLookup ,我想调整SO上的post指向的最后一行的跨度大小,但遗憾的是我无法跟踪当前正在填充的行,因此我的逻辑无效。 我想要实现的是: 码: static private int NUM_OF_COLUMNS = 3; final GridLayoutManager manager = new GridLayoutManager(getBaseActivity(), NUM_OF_COLUMNS); manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { int rowNum = 0; @Override public int getSpanSize(int position) { int spanSize = 1; if(position == 0) rowNum = 0; //reset it //check if it is last row int numOfRows = (int) Math.ceil((double) […]

如何使用recyclerview实现coverflow

我正试图在android上实现类似coverflow和recyclerview的东西,但我找不到这样做的方法(已在谷歌上搜索过)。 我知道有这个库https://github.com/davidschreiber/FancyCoverFlow但不再维护,发布者说我们可以用recyclerview实现这种行为,有人能指出我正确的方向吗? 谢谢。

Android – 根据每个viewpager recyclelerview激活appbar滚动

我有一个ViewPager,其中包含2个包含Recyclerview的选项卡。 我正在使用支持库22.2.0(AppCompat,Recycler view …)。 我的viewpager xml最初是: 我想激活/停用appbar在每个tab / recyclerview的基础上滚动而不是整个viewpager,也就是说,一个tab / recyclerview将使appbar滚动而另一个tab / recyclerview不会。 这个问题是当我删除 app:layout_behavior=”@string/appbar_scrolling_view_behavior” 从viewpager,一个默认的layout_behavior应用于viewpager,它仍然激活tab / recyclerview上的appbar滚动。 我的策略是在viewpager中停用appbar滚动,可能是这样的: 并仅在我的第一个标签/ recyclerview上激活它。 喜欢这个 : <android.support.v7.widget.RecyclerView … android:id="@+id/playlist1_rv" app:layout_behavior="@string/appbar_scrolling_view_behavior" 但我需要一个“@ string / appbar_desactivated_behavior”的课程。 它存在吗? 不是,怎么写呢? 或者您考虑另一种策略? 提前致谢。

获取部分标题以使用SuperSLiM和RecyclerView

我正在尝试在Android的RecyclerGrid中实现节标题。 我遇到了SuperSLiM ,它基本上具备了我需要的所有function。 现在的问题是,在我看来,它是如何真正实现这一点,以便它正在工作的严重记录。 我正在阅读给定的例子,但它充满了我只能部分理解他们所做的function。 我自己的SuperSliM实现工作到目前为止它显示了我用作项目的标题和自定义视图,但在滚动时它疯狂地搞砸了。 (多次显示的项目,标题继续项目等) 我的简单问题是,有人能为我提供一个简单易懂的例子,说明如何将SuperSLiM管理器(作为网格管理器)实现到我的RecyclerView中吗? 此外,如果有更好的选择,我将不胜感激任何帮助。 如果您不清楚我的布局应该如何,我在下面有一个示例图片: 值得一提的是,我的项目不仅仅是简单的TextView,而且与CardView相当。 非常感谢提前!