Articles of android recyclerview

RecyclerView多个布局视图在一个适配器类中

这是我所取得的成就? 3个不同的部分 ,每个部分10个不同的项目 。 这里是我下面的教程 链接 ,下面是屏幕截图 : 试图为每个部分显示different Views 。 喜欢: 对于第1部分 (layout_1.xml) 对于第2部分 (layout_2.xml) 对于第3节 (layout_3.xml) 但是在每个Section中 显示 layout_1.xml布局视图 …(第1,2,3节) 我可以知道我在代码中的错误,我错过了什么? public class SectionListDataAdapter extends RecyclerView.Adapter<SectionListDataAdapter.SingleItemRowHolder> { private ArrayList<SingleItemModel> itemsList; private Context mContext; public SectionListDataAdapter(Context context, ArrayList<SingleItemModel> itemsList) { this.itemsList = itemsList; this.mContext = context; } @Override public SingleItemRowHolder onCreateViewHolder(ViewGroup viewGroup, int i) […]

使用GridLayoutManager的RecyclerView试图解决wrap_content

我尝试解决以下问题: 使用RecyclerView 与GridLayoutManager 具有固定的细胞宽度 recyclerview仅调整到必要的高度(wrap_content) 我尝试使用下面的代码,问题是它不起作用,我还没有find任何工作示例没有提到方向更改时正确重绘。 public class AutofitRecyclerView extends RecyclerView { private MyGridLayoutManager manager; private int columnWidth = -1; public AutofitRecyclerView(Context context) { super(context); init(context, null); } public AutofitRecyclerView(Context context, AttributeSet attrs) { super(context, attrs); init(context, attrs); } public AutofitRecyclerView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context, attrs); } private void […]

Recyclerview addOnItemTouchListener获取whichsubview被点击行内

我从这个堆栈溢出解决scheme实现了Recyclerview onclickListener。 此解决scheme适用于回收站点击。 但我不能得到哪个子视图(例如:ImageView,Button)被点击从行。 mAttachmentRecyclerview.addOnItemTouchListener( new RecyclerItemClickListener(getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { if (view.getId()==R.id.attachmnet_remove) { attachmentsList.remove(position); mAttachmentAdapter.notifyDataSetChanged(); attachmentCount–; } } } )); onItemClick(view,position)总是返回view id为-1 我如何追踪点击视图?

检测项目外的RecyclerView

我有一个RecyclerView与2项不填满整个屏幕。 我怎么能检测到用户点击RecyclerView的空白部分(意思是直接点击RecyclerView而不是其中的一个项目)?

禁用单击SwipeRefreshLayout内的RecyclerView

我使用RecyclerView实现了SwipeRefreshLayout ,我需要在OnRefreshListener期间禁用适配器项目。 我尝试了以下的方法,但通常点击发生: mRecyclerView.setEnabled(false); mRecyclerView.setClickable(false);

如何在布局xml中添加回收视图

我正在关注这个链接 ,正如链接中提到的,我试图添加回收视图如下: <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> 我已经添加了android-support-v7-appcompat库项目,并尝试添加recyclerview-v7-21.0.0-rc1.aar到libs但我仍然遇到以下错误。 The following classes could not be found: – android.support.v7.widget.RecyclerView 注意:我已经更新了Android SDK工具,Android SDK平台工具,Android SDK构build工具,Android L(API 20,L Preview) 请帮忙..

所选状态重写的Android纹波效果

经过一段时间的寻找,我一​​直无法find答案… 我有一个回收的视图,当select的项目有红色背景和白色文本(事先背景是白色的,文字是黑色的)。 为此,我正在使用select器。 我最近试图给这个添加涟漪效应,但除非我长时间点击该项目,否则该项目的背景会直接变为红色而没有波纹。 我假设这是因为select器状态state_selected覆盖sate_pressed上的波纹? 有谁知道是否有办法解决这个问题? 这是我使用的select器代码: <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@android:color/holo_red_dark" > <item> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/ripple" android:state_pressed="true"/> <item android:drawable="@android:color/holo_red_dark" android:state_selected="true"/> <item android:drawable="@android:color/white"/> </selector> </item> </ripple> 提前致谢!

RecyclerView ambiguos setVisibility函数,单击一个视图会影响多个视图

这是我正在尝试运行的项目 。 这里是我从RecyclerView.Adapter类的onBindViewHolder的代码 @Override public void onBindViewHolder(ViewHolder holder, final int position) { TextView title = (TextView) holder.view.findViewById(R.id.title); final TextView desc = (TextView) holder.view.findViewById(R.id.desc); final ImageView imageView = (ImageView) holder.view.findViewById(R.id.imageView); title.setText(pojos.get(position).getTitle()); desc.setText(pojos.get(position).getDesc()); imageView.setImageResource(pojos.get(position).getImage()); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { desc.setText("clicked"); desc.setBackgroundColor(Color.BLUE); imageView.setImageResource(R.drawable.heart_red); } }); } 列表加载正常,当imageView的onclicklistener被调用时,问题发生。 desc.setText("clicked"); 上面的这行代码在点击它的列表项中进行更改。 但 desc.setBackgroundColor(Color.BLUE); 当这行被执行时,这个改变反映在列表上的多个项目中。 出了什么问题? 在下面的图片中,我点击了项目0,文字变成“点击”,颜色被设置。 […]

使用SearchviewsearchRecyclerView

我想通过RecyclerView进行search,我有List<BaseOfCards> (BaseOfCards是我的getter&setter类)我的RecyclerViewAdapter : public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> { private LayoutInflater inflater; private List<BaseOfCards> items; //private int itemLayout; //String cardvalue; private Activity mActivity; public RecyclerViewAdapter(Activity mActivity, Context context, List<BaseOfCards> items) { this.mActivity = mActivity; inflater = LayoutInflater.from(context); this.items = items; //this.itemLayout = itemLayout; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = […]

在RecyclerView中改变单个drawable的颜色将改变所有的drawable

我只是试图改变我的行内我的drawable的颜色取决于一个值,而不是一个可绘制的适配器改变了所有的人。 这是我的适配器: public class ReportAdapter extends RecyclerView.Adapter<ReportAdapter.ReportViewHolder> { DataBaseHelper dataBase; private LayoutInflater inflater; List<ChoosedSubject> data = Collections.emptyList(); Context context; OnItemClickListener itemClickListener; public ReportAdapter(Context context, List<ChoosedSubject> data, OnItemClickListener itemClickListener) { inflater = LayoutInflater.from(context); this.data = data; this.context = context; this.itemClickListener = itemClickListener; } @Override public ReportViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.report_cell, parent, […]