Articles of android recyclerview

在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, […]

RecyclerView – NotifyItemInsert上没有animation

出于某种原因,向RecyclerView添加新项目(应该插入到列表顶部)时,除非向下滚动列表并返回到顶部,并且没有任何animation,否则它不会显示。 (只是出现在列表顶部,就好像它在整个时间一样)。 删除一个项目适当的animation工作正常。 RecyclerViewAdapter: @Override public void onNewDatabaseEntryAdded() { //item added to top of the list notifyItemInserted(0); } public FileViewerAdapter(Context context) { super(); mContext = context; mDatabase = new DBHelper(mContext); mDatabase.setOnDatabaseChangedListener(this); } SQLite数据库: private static OnDatabaseChangedListener mOnDatabaseChangedListener; public static void setOnDatabaseChangedListener(OnDatabaseChangedListener listener) { mOnDatabaseChangedListener = listener; } public long addRecording(String recordingName, String filePath, long length) […]

从适配器更改滚动值的Recyclerview

我正在尝试使用RecyclerView和回收站适配器填充列表的应用程序。 但是,当我快速滚动列表中的列表项时,列表项中的值有时会混洗。 有没有一个已知的解决办法?

使RecyclerView的高度在约束布局中的“wrap_content”

我试图设置wrap_content的回收站视图的高度,并使其尊重,但它会超过布局上的其他小部件。 我现在能做什么? <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white"> <TextView android:id="@+id/tvPastRounds" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginTop="0dp" android:text="Past Rounds" android:textColor="@color/text_color_black" android:textSize="16sp" app:layout_constraintLeft_toLeftOf="parent"/> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintHeight_default="wrap" android:layout_marginBottom="24dp" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginTop="16dp" android:clipChildren="true" android:maxHeight="150dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintLeft_toLeftOf="@+id/tvPastRounds" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/tvPastRounds" app:layout_constraintVertical_bias="0.0"/> </android.support.constraint.ConstraintLayout>

RecyclerView项目宽度layout_width =“match_parent”与父项不匹配

我正在使用RecyclerView,我正在尝试使RecyclerView match_parent的宽度项目,因为我正在使用 LinearLayoutManager.HORIZONTAL <android.support.v7.widget.RecyclerView android:id="@+id/listOffersHits" android:layout_width="match_parent" android:layout_height="match_parent" /> custom_layout.xml <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_weight="1" android:layout_margin="2dp" card_view:cardCornerRadius="2dp"> <ImageView android:id="@+id/offerImage" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/item_selector" android:scaleType="fitXY" android:src="@drawable/offer" /> </android.support.v7.widget.CardView> 布局pipe理 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL, false); listOffersHits.setLayoutManager(linearLayoutManager); ViewHolder View view= LayoutInflater.from(parent.getContext()) .inflate(R.layout.custom_layout, parent, false); ViewOffersHolder viewHolder=new ViewOffersHolder(view); return viewHolder;

一次扫一个项目Recyclerview

我试图添加滚动侦听器回收视图,并作出了一些逻辑,但我无法一次刷一个项目。 我在互联网上做了一些search,但我有一些第三方库,有自定义回收视图。 我们可以在回收者视图中一次实施一个项目吗? 如果是的请告诉如何? 一个项目像这个图像一次滑动。

如何在RecyclerView.Adapter中从ViewHolder调用MainActivity方法?

在GitHub的一个简单的应用程序项目中,我只有两个自定义的Java文件: MainActivity.java包含蓝牙和UI相关的源代码 DeviceListAdapter.java包含一个Adapter和ViewHolder用于在RecyclerView显示蓝牙设备 MainActivity.java包含一个方法,当用户在RecyclerView的蓝牙设备上点击时: public void confirmConnection(String address) { final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Do you want to pair to " + device + "?"); builder.setPositiveButton(R.string.button_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { device.createBond(); } }); builder.setNegativeButton(R.string.button_cancel, null); builder.show(); } 在ViewHolder类中(在DeviceListAdapter.java中 ),定义了点击侦听器: public class DeviceListAdapter extends RecyclerView.Adapter<DeviceListAdapter.ViewHolder> […]

检查RecyclerView是否可滚动

如何检查RecyclerView是否可滚动,即在可见区域下面/上面有项目 我有一个使用notifyItemRangeInserted()和notifyItemRangeRemoved()工作的回收器视图下拉菜单。 每当发生这种情况时,我想检查RecyclerView是否可以滚动,因为我必须相应地调整另一个视图,就像报摊上的横幅一样

从recyclerview android获取选中的checkbox列表

我已经填充了图像,标题和checkboxrecyclerView。 我有两个问题。 如何在点击图像视图或整个回收站项目时选中checkbox。 我必须通过从回收站查看所有检查的项目来进行下一个活动。 我的布局: <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="8dp"> <ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="150dp" android:layout_gravity="center_horizontal" android:contentDescription="Interests" android:scaleType="centerCrop" android:src="@drawable/ic_yash_dp" /> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_gravity="bottom" android:layout_margin="5dp" android:layout_marginTop="24dp" android:background="@drawable/rounded_corners" android:gravity="bottom" android:padding="5dp" android:text="GYM" android:textAlignment="center" android:textColor="@color/white" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/checkBox" android:layout_margin="2dp" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout> 我的适配器: @Override public void onBindViewHolder(RecyclerViewHolder holder, int position) { final […]

Recyclerview(获取Recyclerview项目)

我已经在github上使用这个实现了SearchView + Recyclerview。 Github上 我的下一步是在回收站查看选定部分的项目。 然后我看到一些代码让孩子在recyclerview上。 getChildAt(index)= 0时代码正在工作。 但是,当我把索引= 12或更大。 程序崩溃了。 mRecyclerView.setAdapter(mAdapter); mRecyclerView.addOnItemTouchListener( new RecyclerItemClickListener(getContext(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { final int valueThisIteration = position; mRecyclerView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { TextView textViewDrawerTitle = (TextView) mRecyclerView.getChildAt(valueThisIteration).findViewById(R.id.tvText); textViewDrawerTitle.setText("Checked"); mRecyclerView.getViewTreeObserver().removeGlobalOnLayoutListener(this); } }); } }) ); 而即时得到这个错误。 11-04 09:36:02.818 1629-1629/? […]