Articles of android recyclerview

android中的gradle依赖错误

在下面的build.gradle中,我添加了配置部分以避免双重包含支持库。 支持库用于主项目和依赖项目,如facebook sdk。 没有配置部分,我得到“意想不到的顶级exception”。 添加该配置会使错误消失,应用程序一切正常。 现在,我正在尝试将RecyclerView添加到我的应用程序中,并且在对recyclerview进行充气时找不到RecyclerView类(尽管它构建正常)。 如果我删除了facebook SDK和配置部分,则recyclerview工作正常。 问题:我可以对build.gradle进行哪些更改以使facebook SDK正常工作并且RecyclerView可以正常工作? 换句话说,为什么配置部分不包括v7,只是它应该排除v4? dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) compile ‘com.android.support:support-v4:+’ compile ‘com.android.support:support-v13:+’ compile ‘com.android.support:cardview-v7:+’ compile ‘com.android.support:recyclerview-v7:+’ compile ‘com.google.android.gms:play-services:4.4.52’ compile project(‘:facebook-3.15’) compile project(‘:parse-1.5.1’) compile project(‘:viewpagerindicator-2.4.1’) } configurations { // to avoid double inclusion of support libraries all*.exclude group: ‘com.android.support’, module: ‘support-v4’ }

如何捕捉RecyclerView项目,以便每个X项目都被视为一个单元来捕捉?

背景 可以使用以下方法将RecyclerView捕捉到其中心: LinearSnapHelper().attachToRecyclerView(recyclerView) 例: MainActivity.kt class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val inflater = LayoutInflater.from(this) recyclerView.adapter = object : RecyclerView.Adapter() { override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { val textView = holder.itemView as TextView textView.setBackgroundColor(if (position % 2 == 0) 0xffff0000.toInt() else 0xff00ff00.toInt()) textView.text = position.toString() } override fun […]

RecyclerView与不同的Cardlayouts

我想做什么 目前我正在玩RecyclerView和CardView 。 现在我写了一个RecyclerView.Adapter ,我可以在其上多次使用不同的内容显示相同的CardView – 类似于带有BaseAdapter的ListView 。 现在我想用不同的CardView-Layout编写一个RecyclerView (以Google Now的风格)。 我已经搜索过教程,但没有find任何关于该主题的有用信息。 有人知道,这需要如何实施? 要意识到这一点需要做些什么?

与ListView相比,RecyclerView的增强function是什么?

自Android API 22正式开始, RecyclerView被添加到v7 support library 。 许多人说这是对ListView一种增强,许多关于它的使用的简要介绍都是通过互联网发布的。 但这些文章大多非常简单,浅而空洞。 增强function只是RecyclerView.ViewHolder , RecyclerView.ItemAnimator或RecylerView.SmoothScroller ? 滚动期间项目视图的recycling and reuse mechanism是否与ListView的不同? 什么是RecyclerView优于ListView的enhancement ? 任何答案,提示或链接表示赞赏。 提前致谢。

Recyclerview项目困惑

在我的RecyclerView.Adapter当用户点击cardview一个按钮变得可见。 但是当我滚动recyclerview时,其他一些项目按钮也显示为可见。 为什么会这样? 这是我的代码: @Override public void onBindViewHolder(final ViewHolder viewHolder, final int position) { viewHolder.card.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (viewHolder.content_layout.getVisibility() == View.VISIBLE) { viewHolder.content_layout.setVisibility(View.GONE); viewHolder.address.setMaxLines(2); viewHolder.attribute.setMaxLines(2); } else { viewHolder.content_layout.setVisibility(View.VISIBLE); viewHolder.address.setMaxLines(8); viewHolder.attribute.setMaxLines(8); } } }); … }

在我的布局文件中使用CardView和RecyclerView会引发exception

所以我一直在拍摄Android Preview L的Material Design。我导入了CardView和RecyclerView库。 我使用Android Studio预览版0.8.0。 安装最新的SDK包。 一旦我在布局文件中使用它们,预览器就会抛出两个exception。 以下是CardView的例外情况: java.lang.ClassFormatError: Illegal field name “CardView.Dark” in class android/support/v7/cardview/R$style at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:792) at java.lang.ClassLoader.defineClass(ClassLoader.java:635) at org.jetbrains.android.uipreview.ProjectClassLoader.findClass(ProjectClassLoader.java:63) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:411) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at android.support.v7.widget.CardView.initialize(CardView.java:69) at android.support.v7.widget.CardView.(CardView.java:60) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:375) at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:100) at com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.java:172) at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207) at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:132) […]

如何实现水平gridlayoutmanager

如何使用recyclerview实现水平gridlayoutmanager。 固定行数。 和水平滚动。 喜欢这个… gridLayoutManager = new GridLayoutManager(getContext(), 1, GridLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(gridLayoutManager); recyclerView.setHasFixedSize(true); 我试着这样做。 但这不会在项目中显示任何内容。

OnLongItem点击RecyclerView

我开始在Android中使用RecyclerView。 在我为我的适配器实现触摸侦听器之前,工作正常。 从这个主题: https://stackoverflow.com/a/26826692/2923403 我可以正确实现childview的监听器。 但是,我想实现OnItemClick和OnItemLongClick,然后出现问题。 他们总是同时被解雇。 OnItemClick首先和OnItemLongClick稍后,这使我的函数无用。 这是我的自定义监听器的代码(基于上面的代码,感谢Fouad): public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { private OnItemClickListener mListener; public static interface OnItemClickListener { public boolean onItemClick(View view, int position); public void onItemLongClick(View view, int position); } GestureDetector mGestureDetector; public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) { mListener = listener; mGestureDetector = new GestureDetector(context, new […]

RecyclerView适配器显示错误的图像

我有一个RecyclerView适配器,如下所示: public class RecyclerAdapter extends RecyclerView.Adapter { private static Context context; private List mDataset; public RecyclerAdapter(Context context, List myDataset) { this.context = context; this.mDataset = myDataset; } public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnCreateContextMenuListener, View.OnClickListener { public TextView title; public LinearLayout placeholder; public ViewHolder(View view) { super(view); view.setOnCreateContextMenuListener(this); title = (TextView) view.findViewById(R.id.title); placeholder = […]

在RecyclerView中为分隔符添加边距

我正在构建一个使用RecyclerView的Android应用程序。 我想在RecyclerView添加分隔RecyclerView ,我使用此代码进行了分割: DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(), linearLayoutManager.getOrientation()); recyclerView.addItemDecoration(dividerItemDecoration); 到目前为止一切正常。 但是,分频器的大小是全屏的,我想为它添加边距。 有没有什么办法可以使用一种方法为分隔符添加边距,这种方法会为绘制的矩形添加一些空间,而不是通过创建带边距的自定义可绘制形状并将其添加到RecyclerView ?