Tag: android recyclerview

滚动时获取RecycleView的中心可见项

这是我想要的: 如上图所示,我想在RecycleView上绘制一个中心线,然后在滚动时(以及向左或向右移动)获取中心项目, 这里是我尝试绘制一个水平的RecycleView : HorizontalAdapter adapter = new HorizontalAdapter(data); LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); recycleView.setLayoutManager(layoutManager); recycleView.setAdapter(adapter); 有没有什么办法知道哪个项目被移到RecycleView中心? 我怎样才能将RecycleView向左或向右滚动一个位置? 更新 :我试图使用滚动监听器来获取中间位置,但它不能作为方面。 @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); int firstPos = layoutManager.findFirstVisibleItemPosition(); int lastPos = layoutManager.findLastVisibleItemPosition(); int middle = Math.abs(lastPos – firstPos) / 2 + firstPos; int selectedPos […]

如何使用RecyclerView.State保存RecyclerView的滚动位置?

我有一个关于Android的RecyclerView.State的问题。 我正在使用一个RecyclerView,我怎么能使用和RecyclerView.State绑定它? 我的目的是保存RecyclerView的滚动位置 。

RecyclerView展开/折叠项目

我想展开/折叠我的recyclerView的项目,以显示更多的信息。 我想实现SlideExpandableListView的相同效果。 基本上在我的viewHolder中,我有一个不可见的视图,我想做一个平滑的展开/折叠animation,而不是将可见性设置为仅可见/去。 我只需要一次扩展一个项目,并且有一些提升来显示该项目被选中将会很酷。 这是新的Android最近通话logging列表的效果。 只有当select一个项目时,才能看到选项“CALL BACK”和“DETAILS”。

Android RecyclerView添加和删除项目

我有一个TextView文本框和十字buttonImageView RecyclerView。 我有一个回收站的button之外的button,使交叉buttonImageView可见/消失。 我正在从recylerview中删除一个项目,当该项目交叉buttonImageView被按下。 我的适配器: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener, View.OnLongClickListener { private ArrayList<String> mDataset; private static Context sContext; public MyAdapter(Context context, ArrayList<String> myDataset) { mDataset = myDataset; sContext = context; } @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.my_text_view, parent, false); ViewHolder holder = new ViewHolder(v); holder.mNameTextView.setOnClickListener(MyAdapter.this); holder.mNameTextView.setOnLongClickListener(MyAdapter.this); holder.mNameTextView.setTag(holder); […]

我们应该使用RecyclerView来replaceListView吗?

Android Docs说: RecyclerView小部件是ListView的更高级和灵活的版本。 这个小部件是一个显示大型数据集的容器,通过维护有限数量的视图可以非常有效地滚动。 如果数据收集的元素在运行时基于用户操作或networking事件而更改,请使用RecyclerView小部件 实际上,如果效率不重要, ListView可以完成以上所有操作,而且我们在使用RecyclerViewreplaceListView时发现了很多问题: 没有onItemClickListener()列表项select – 解决scheme 列表项之间没有分隔符 – 解决scheme 没有内置的重叠select器,当你点击列表项 – 解决scheme时,没有视觉反馈 没有列表头的addHeaderView – 解决scheme 也许更多的问题… 所以当我们使用RecyclerViewreplaceListView ,我们必须做很多额外的编码才能达到与ListView相同的效果。 题: 是否值得我们用RecyclerView完全替代ListView ? 如果不是那么在这种情况下,我们应该更好地使用RecyclerView而不是ListView ,反之亦然? 感谢您的关注和任何想法!

如何正确突出显示RecyclerView上的选定项目?

我正在尝试使用RecyclerView作为水平的ListView 。 我想弄清楚如何突出选定的项目。 当我点击其中一个项目,它被选中,它被正确地突出显示,但是当我点击另一个时,第二个与较旧的一个突出显示。 这是我的onClick函数: @Override public void onClick(View view) { if(selectedListItem!=null){ Log.d(TAG, "selectedListItem " + getPosition() + " " + item); selectedListItem.setBackgroundColor(Color.RED); } Log.d(TAG, "onClick " + getPosition() + " " + item); viewHolderListener.onIndexChanged(getPosition()); selectedPosition = getPosition(); view.setBackgroundColor(Color.CYAN); selectedListItem = view; } 这里是onBindViewHolder : @Override public void onBindViewHolder(ViewHolder viewHolder, int position) { viewHolder.setItem(fruitsData[position]); if(selectedPosition […]

与数据库一起使用recyclerview

目前没有可用的RecyclerView.Adapter的默认实现。 可能随着官方发布,Google会join它。 由于目前还没有对CursorAdapter与recyclerview的支持,我们如何使用数据库的recyclerview? 有什么build议么 ?

RecyclerView与ListView

从android开发者( 创build列表和卡片 ): RecyclerView小部件是ListView的更高级和灵活的版本。 好吧,这听起来很酷,但是当我看到这个示例图片时,我对这两者之间的区别感到困惑。 上面的图片可以通过带有自定义适配器的ListView轻松创build。 那么,在什么情况下应该使用RecyclerView ?

如何在RecyclerView项目出现时进行animation制作

如何在RecyclerView出现时animation? 在设置回收站数据后,添加或删除数据时,默认项目animation设置器只会animation。 我是新开发的应用程序,并没有任何线索从哪里开始。 任何想法如何实现这一目标?

我如何使WRAP_CONTENT在RecyclerView上工作

我有一个包含RecyclerView (卡片列表)的DialogFragment 。 在这个RecyclerView是一个或多个CardViews可以有任何高度。 我想给这个DialogFragment正确的高度基于CardViews包含在内。 通常这会很简单,我会像这样在RecyclerView上设置wrap_content 。 <android.support.v7.widget.RecyclerView … xmlns:tools="http://schemas.android.com/tools" android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:scrollbars="vertical" > </android.support.v7.widget.RecyclerView> 因为我正在使用RecyclerView这不起作用,请参阅: https://issuetracker.google.com/issues/37001674 和 嵌套的Recycler视图高度不包裹其内容 在这两个页面上,人们build议扩展LinearLayoutManager并覆盖onMeasure() 我首先使用了第一个链接中提供的LayoutManager : public static class WrappingLayoutManager extends LinearLayoutManager { public WrappingLayoutManager(Context context) { super(context); } private int[] mMeasuredDimension = new int[2]; @Override public void onMeasure(RecyclerView.Recycler recycler, RecyclerView.State state, int widthSpec, int heightSpec) { […]