Articles of android recyclerview

RecycleView为项目设置了错误的高度

我为我搜索答案,但找不到工作答案。 在RecycleView中查看我的项目时出现了奇怪的错误: 我对RecycleView使用不同的视图。 我尝试使用此代码: mLayoutManager.setAutoMeasureEnabled(true); // false doesn’t work too 但它对我没有帮助。 UPD 1我忘记了这个,对不起。 当我启动应用程序时,我没有错误(像图像上的正常项目),但当我开始滚动我的RecycleView我遇到了问题) UPD 2我回到compile ‘com.android.support:recyclerview-v7:23.1.1’ ,但它没有帮助我(。所以我添加代码和xml与mey RecycleView ,我希望你帮助我。 XML: 和代码: mRecyclerView = (RecyclerView) parent.findViewById(R.id.dashboard_recycle_view); mLayoutManager = new LinearLayoutManager(getContext()); mLayoutManager.setAutoMeasureEnabled(false); mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.setHasFixedSize(false); mRecyclerView.setAdapter(mRecycleAdapter);

动态添加视图到RecyclerView的项目

我想根据发送到RecyclerView.Adapter的ModalObject将额外的TextView添加到RecyclerView.Adapter的项目中。 示例 : 我有一个带有isAddTextvariables的模态对象。 在onCreateViewHolder中将创建Holder对象,并将itemView作为参数发送。 @Override public SolventViewHolders onCreateViewHolder(ViewGroup parent, int viewType) { View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.solvent_list, null); SolventViewHolders rcv = new SolventViewHolders(layoutView); return rcv; } SolventViewHolders.java public SolventViewHolders(View itemView) { super(itemView); itemView.setOnClickListener(this); textView = (TextView) itemView.findViewById(R.id.country_name); imageView = (ImageView) itemView.findViewById(R.id.country_photo); // Now i need add a view to the itemView parent based on ModalObject […]

具有空视图的FirebaseRecyclerAdapter

我知道有很多方法可以为RecyclerView提供空视图。 但我的问题是FirebaseRecyclerView。 我的布局是: 所以我在RecyclerView填充其项目之前显示正在加载ProgressBar。 现在如果服务器没有任何项目怎么办? 在这种情况下,我的RecyclerView始终为空,我的Loading ProgressBar始终对用户可见。 因此,我想要显示一些空的布局,而不是无限期地显示ProgressBar。 例如“找不到数据”或类似的消息。 最终结果应该是:ProgressBar应该显示,直到数据加载到RecyclerView,一旦数据加载,ProgressBar应该是不可见的。 但是如果服务器中没有数据,则应显示一些空布局而不是ProgressBar。 在普通的RecyclerView中,我们有一个数据集(某些ArrayList等),如果它是空的,那么我们可以显示那个空布局。 但是对于FirebaseRecyclerAdapter,我在我的Activity或Context中没有Snapshot的引用。 我也没有任何回调告诉我服务器中没有数据。 任何解决方法都会有很大帮助。

RecyclerView滞后滚动

我在RecyclerView中加载400×200图像,但在2k设备上滚动是滞后的。 我正在使用Picasso从资源加载图像。 正如您在演示图像中看到的那样,在2k屏幕上模糊,但如果我加载更高分辨率的图像,情况会变得更糟。 如何解决这个问题,我甚至没有加载大图像,它的400×200? 演示 这是我的代码card_view.xml Myadapter代码 public class CardAdapter extends RecyclerView.Adapter { private Context mContext; List list = new ArrayList(); public CardAdapter(Context mContext, List list) { this.mContext = mContext; this.list = list; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()) .inflate(R.layout.card_view, parent, false); return new ViewHolder(itemView); } @Override public […]

Android – 网格中项目之间的RecyclerView间距

在我的Android应用程序中,我使用RecyclerView通过使用GridLayoutManager在网格中显示项目。 在GridView中,为了指定元素之间的间距,我将设置horizo​​ntalSpacing和verticalSpacing属性。 那么,我如何在RecyclerView上做同样的事情呢?

RecyclerView?android:attr / selectableItemBackground不适用于项目

我有这个items.xml 当我单独使用它时,selectableItemBackground在我单击视图时animation。 但是当我将它用于RecyclerView中的项目时,对点击的影响不再发生。 我怎样才能解决这个问题? PS:这是RecyclerView上的监听器,如果它是相关的: public ColorListOnItemTouchListener(Context context, OnItemClickListener clickListener) { mClickListener = clickListener; mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onDown(MotionEvent e) { return true; } @Override public void onLongPress(MotionEvent e) { if(childView != null && mClickListener != null) { mClickListener.onItemLongPress(childView, index); } } @Override public boolean onSingleTapUp(MotionEvent e) { if(childView […]

两个RecyclerViews在一个布局中相互映射

如何在一个布局中相互获得两个RecyclerView? 我不希望所有项目都有一个RecyclerView。 我的代码:

在onCreateViewHolder中获得位置

我正在使用Support Library v7将ListView转换为RecyclerView。 我有两种不同的布局可以在RecyclerView加载。 在ListView ,我在getView()方法中获取项的位置,并能够为该行加载适当的布局。 但在RecyclerView , onCreateViewHolder没有position参数。 有没有其他方法来实现这一目标? PS:来自Google的收件箱应用程序在RecyclerView显示不同的布局(可能是)。 由于RecyclerView的性能改进,我认为他们可能没有使用过ListView @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { View v=null; MyVO vo = voList.get(???POSITION???); switch(vo.getType()){ case TYPE_1: v = LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.layout1, viewGroup, false); break; case TYPE_2: v = LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.layout2, viewGroup, false); break; } return new ViewHolder(v); }

Recycler视图 – 滚动时调整项目视图的大小(对于旋转木马效果)

我需要创建一个垂直的Recyclerview,其中应调整屏幕中心的项目视图,以便在滚动时具有缩放效果。 我尝试但没有奏效的事情: 添加滚动侦听器并按位置循环浏览项目视图,测量居中位置,然后更新居中view LayoutParams 。 RecyclerView不会在滚动时计算项目的位置或更新视图。 如果在onScrolled中执行此类操作,则抛出IllegalStateException 在滚动状态下更改onScrollStateChanged中居中项目视图的LayoutParams是IDLE或SETTLING 。 仅在滚动已经/将要完成之后才更新视图,而不是在滚动项目期间执行。 剩下的最后一个选项是实现自定义的LayoutManager ,它将扩展默认的LayoutManager 。 据我所知,实现自定义Layoutmanager涉及处理需要处理的更复杂的计算。 任何其他解决方案或想法将不胜感激。

RecyclerView GridLayoutManager具有全宽标题

我在这里使用一个非常有用的示例来显示RecyclerView和GridLayoutManager以显示带有标题的网格。 它看起来很不错,但我的平面设计师希望标题项占据RecyclerView的整个宽度。 现在有填充。 当我设置GridLayoutManager时,我添加填充(我仍然想要其他网格项):[它使用Xamarin C#] var numColumns = myListView.MeasuredWidth / tileSizeMax; myGridView.SetPadding(tilePadding, tilePadding, tilePadding, tilePadding); layoutManager = new GridLayoutManager(Activity, numColumns); myListView.SetLayoutManager(layoutManager); 那么,如何将标题项的填充设置为不同…或者使其在填充上绘制自己?