Articles of android recyclerview

在RecyclerView中显示SQLite数据

我search了很多,但是我没有find关于如何在RecyclerView中显示SQLite数据的分步指南。 任何人都可以向我解释我该怎么做? 我的数据库适配器: public class DataBaseAdapter { DataBaseHelper helper; public DataBaseAdapter(Context context) { helper = new DataBaseHelper(context); } public long insertData(String name, String card, String code) { SQLiteDatabase db = helper.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(DataBaseHelper.NAME, name); contentValues.put(DataBaseHelper.CARD, card); contentValues.put(DataBaseHelper.CODE, code); long id = db.insert(DataBaseHelper.TABLE_NAME, null, contentValues); return id; } public String getData(String name){ […]

谷歌玩商店像界面使用回收视图

我的任务是创build一个类似于Google Play Store的界面。将会有一个类别名称,后跟3或4个卡片(水平),然后是更多button。 然后再下一个类别。 我已经使用垂直列表视图嵌套横排列表来实现这个了。 我知道,我可以通过使用带有水平方向的LinearLayoutManager的Recycler视图来实现此目的。 使用这个我将只有一个行。 我的问题是我如何添加第二,第三行? 我应该再次使用嵌套Recycler视图吗? 有更好的select吗?

GridLayoutManager的spanSizeLookup错误

我有一个GridLayoutManger setSpanSizeLookup的问题,当一个活动的方向改变时,我正在改变跨度计数,而检查如果特定的位置是某种types,这完全适用于方向的变化,我唯一的问题是,我正在使用zxing库做条形码扫描,每当一个button被点击我打开zxing默认意图,并从中检索date,但是当zxing打开它去landscape ,我当前的活动方向是portrait这给了我的IllegalArgumentException布局在打开Xzing意图时pipe理抛出,崩溃日志是这样的 java.lang.IllegalArgumentException: Item at position 0 requires 2 spans but GridLayoutManager has only 1 spans. 这个问题不会发生,如果我旋转手机,只发生当我启动的Xzing意图,我真的不知道如何解决这个问题,因为它的窃听我。 这里是我的spanSizeLookup – manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { return adapter.getHolders().get(position).getLabelHolder() != null ? getResources().getInteger(R.integer.span) : 1; } }); span基于屏幕大小,因此它可以是1-2,2-3和3-4。 我重复一遍,这不会给我任何方向变化的错误,只有当我打开zxing时发生错误 PS如果我打开zxing intent而我的活动是在landspace崩溃不会发生。 编辑 它似乎只是启动zxing默认意图引起这个问题,我有一个activity ,它启动后,它的landscape和exception没有发生,作为一个解决方法,我做了,是我创build了一个activity ,处理barcode扫描延迟1秒发射的intent ,如果我不这样做,它会抛出同样的exception 。 编辑2 我刚刚发现,即使没有setSpanSpizeLookup,崩溃依然会发生。 通过调用manager.setSpanCount(getResources().getInteger(R.integer.span))

RecyclerView不滚动到底部

我遵循recyclerview的指导方针,并为我正在制作的应用程序构build一个,但由于某种原因它不滚动到底部。 我把它和谷歌代码片断以及其他在线代码片断进行了比较,看不出有什么不同。 我发布了一张图片和我正在使用的代码。 我使用的标签,因此recyclerview填充在一个片段。 该应用的外观如下所示: View post on imgur.com 适配器类: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private List<Group> groups; // Provide a reference to the views for each data item // Complex data items may need more than one view per item, and // you provide access to all the views for a data item […]

ReyclerView中的YouTubePlayerFragment

里面有一个带有CardView的RecyclerView。 我希望每个CardView都有自己的YouTubePlayerFragment。 即使他们不能立刻全部活跃起来,我似乎甚至不能在任何CardView中实例化YouTubePlayerFragment,而是在RecyclerView中实例化第一个。 当点击应该设置YouTubePlayerFragment的卡片上的button时,即使我点击了第二张卡片,它也会将其设置在第一张卡片上。 我正在尝试做什么? 以下是代码的相关部分: CardView XML中片段的持有者:(直接在xml中使用片段会产生二进制XMLexception,可能是由于片段内某个片段内的片段) <FrameLayout android:id="@+id/youtube_holder" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_alignLeft="@+id/layout_video_thumbnail" android:layout_alignStart="@+id/layout_video_thumbnail" android:layout_alignRight="@+id/layout_video_thumbnail" android:layout_alignEnd="@+id/layout_video_thumbnail" android:visibility="visible"/> ViewHolder: public class VideoViewHolder extends RecyclerView.ViewHolder { protected FrameLayout containerYouTubePlayer; protected TextView textViewTitle; protected ImageView imageViewThumbNail; protected Button buttonPreview, buttonSet; protected Context activityContext; public VideoViewHolder(Context activityContext, View itemView) { super(itemView); this.activityContext = activityContext; containerYouTubePlayer = (FrameLayout) itemView.findViewById(R.id.youtube_holder); […]

RecyclerView不滚动

我用尽了4天让我的listview滚动,但我不能,然后有人build议使用RecyclerView,因为我使用CoordinatorLayout,所以我做了。 现在理解和实施RecyclerView后仍然有相同的错误。 它不滚动现在我该怎么办? 我想放弃。 我无处可去。 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_contacts_list, container, false); DataBaseOperations hell = new DataBaseOperations(getActivity()); SQLiteDatabase db = hell.getReadableDatabase(); String[] columns = {mDatabase.Tableinfo.ID,mDatabase.Tableinfo.Contacts_phone,mDatabase.Tableinfo.Contacts_name,mDatabase.Tableinfo.Contact_pic}; Cursor Contacts = db.query(mDatabase.Tableinfo.contacts, columns, null, null, null, null, null); Toast.makeText(getContext(),"come on"+Contacts.getCount(),Toast.LENGTH_SHORT).show(); RecyclerView contacts = (RecyclerView) view.findViewById(R.id.contacts); contacts.hasFixedSize(); RecyclerView.LayoutManager llv = […]

如何在Robolectric中对RecyclerView,LinearLayoutManager进行unit testing?

如何在Robolectric中对RecyclerView,ScrollListener,LinearLayoutManager进行unit testing? 对于这种testing,我相当新,但我真的很想模仿手势,特别是滚动。

RecyclerView ItemTouchHelper操作拖动结束

当他停止拖放我的RecyclerView(当他放弃select的项目时),我需要听用户。 我可以通过我的ItemTouchHelper获取这些信息吗? 感谢您的帮助 马克:目前我只有现在当用户仍然移动项目:) @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder source, RecyclerView.ViewHolder target) { if (source.getItemViewType() != target.getItemViewType()) { return false; } // Notify the adapter of the move mAdapter.onItemMove(source.getAdapterPosition(), target.getAdapterPosition()); return true; }

NestedScrollViewLayout里面的SwipeRefreshLayout里面的RecyclerView不能滚动

我有一个活动与折叠工具栏和嵌套滚动视图与一个FrameLayout ,我把碎片放在里面。 最初,我把它放在一个CardView的FragmentA 。 很好用。 当我点击一个button,虽然我用另一个包含RecyclerViewreplaceFragmentB 。 当我添加FragmentB我不能滚动到列表的底部。 这个video显示了这个问题: LINK TO VIDEO 主机活动布局: <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="340dp" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed|enterAlwaysCollapsed" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp"> ……… …… </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="fill_vertical" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior" > <!– the layout which will be the content of the activity (which will be hosted inside […]

在主题级别的RecyclerView造型

我试图在主题级别实现RecyclerViewgenerics样式参数。 和ListView ,我用了这样的东西: 定义一种风格: <style name="StyleListView" parent="Widget.AppCompat.ListView"> <item name="android:requiresFadingEdge">vertical</item> <item name="android:fadingEdgeLength">10dp</item> <item name="android:scrollbars">vertical</item> </style> 后来在我的自定义主题中使用: <item name="android:listViewStyle">@style/StyleListView</item> 这对ListView工作得很好。 然而,我无法反映这个RecyclerView因为我认为它适用于任何types的列表。 那么,是否有任何预定义的风格属性可用于RecyclerView ,例如android:recyclerViewStyle或任何东西? 如果不是,那么我怎样才能达到这个主题?