【android开发步步为营之71:CoordinatorLayout+AppBarLayout+RecyclerView+ViewPager打造可上下左右滑动的App主框架】教程文章相关的互联网学习教程文章

Android源码解读——RecyclerView回收复用机制【代码】【图】

问题归类:什么是回收?什么是复用?回收什么?复用什么?回收到哪里去?从哪里获得复用?什么时候回收?什么时候复用?带着以上几个问题来分析源码,当以上问题都能解释清楚的时候,对RecyclerView回收复用机制的了解也算是完成了。 1、什么是回收?什么是复用? 回收:即缓存,RecyclerView的缓存是将内容存到集合里面。 复用:即取缓存,从集合中去获取。 2、回收什么?复用什么? 回收和复用的对象都是ViewHolder。 什么是View...

Java-Android:设置RecyclerView项的重力【代码】

我有一个像列表一样的recyclerView,当我删除一个项目时,所有其他项目都向上移动,我希望它们向下移动.我正在考虑将重力设置为项目,或反转适配器中的位置,使底部位置为0. 我的适配器(自定义):public class AddEventsAdapter extends HFRecyclerViewAdapter<String, AddEventsAdapter.ViewHolder> {public AddEventsAdapter(Context context) {super(context);}@Overridepublic void footerOnVisibleItem() {}@Overridepublic void a...

Android:v7的编译错误支持lib 27.1.0“程序类型已存在”android.support.v7.recyclerview.extensions.ListAdapter

我认为27.1.0 v7支持库,just released必定存在错误.更新我的项目后使用它(从26.1.0开始),我不断收到此编译错误:Task :app:transformDexArchiveWithDexMergerForRegularDebug FAILEDD8 is used to merge dex.Program type already present: android.support.v7.recyclerview.extensions.ListAdapter FAILURE: Build failed with an exception.What went wrong:Execution failed for task ‘:app:transformDexArchiveWithDexMergerF...

android – 以编程方式将新项目添加到recyclerview?【代码】

我仍然试图了解Recyclerview.我有一个arraylist,我用它来初始化一个回收站视图. 如何在设置适配器和布局管理器的回收器视图中添加新项?private void initData() {mItems = new ArrayList<String>();for (int i = 0; i < ITEMS_COUNT; i++) {mItems.add("Item " + (i + 1));}}private void initRecyclerView() {mRecentRecyclerView = (RecyclerView) findViewById(R.id.recentrecyclerView);mRecentRecyclerView.setHasFixedSize(...

android – RecyclerView,项目刷,java.lang.IllegalStateException【代码】

我的任务是在RecyclerView中实现项目水平项目滑动.由于ViewPager源代码和其他一些资源,我实际上完成了任务,但是在一个场景中存在问题. 我的SwipeableRecyclerView(从现在开始的SRV)扩展了RecyclerView并实现了RecyclerView.OnItemTouchListener来执行实际工作的魔法.它还定义了一个自定义接口SwipeListener,它定义了一些方法,最重要的(对于这个问题)是’onSwipe(View view,int position,boolean right)’. 我的活动提供了SRV接口的...

java – Android:我应该在recyclerview中维护对活动的引用还是有其他方法?【代码】

我需要在onBindViewHolder中使用上下文方法(标准示例可能像getString或getColor一样常见).到目前为止,我已经将上下文传递给了recyclerview的构造函数并在变量中维护了一个引用,但在我看来,这似乎是不好的做法.有没有办法从Recyclerview内部动态获取上下文而不将其存储为变量?public SomeRecyclerViewClass(Activity activity) {this.parentActivity = activity; }解决方法:我看不出在构造函数中传递Context并将其存储在字段中的任...

Android RecyclerView滚动到以编程方式无法正常工作【代码】

我正在尝试以编程方式滚动到我的RecyclerView中的一个位置,这是我尝试过的,直到现在我的情况没有任何作用:musicList.getLayoutManager().smoothScrollToPosition(musicList, null, position);musicList.scrollToPosition(position);mLayoutManager.scrollToPosition(position);musicList.getLayoutManager().scrollToPosition(position);我错过了什么吗? 我有一个LinearLayoutManager mLayoutManager;定义并将其设置为RecyclerVi...

android – 以编程方式点击或触摸recyclerview中的项目【代码】

如何强制点击或触摸Recyclerview上的项目? 我发现人们在谈论使用命令recyclerView.findViewHolderForAdapterPosition(0).itemView.performClick()但recyclelerView.findViewHolderForAdapterPosition(0)总是返回null! 我最初想要点击/触摸第一个recyclerview项目.解决方法:new Handler().postDelayed(new Runnable() {@Overridepublic void run() {recyclerView.findViewHolderForAdapterPosition(position).itemView.performCli...

android – 用于聊天应用程序的RecyclerView vs ListView

哪个更适合用来显示聊天消息?据我所知,RecyclerView支持更多的自定义视图方向(通常被视为性能优越),但由于聊天本质上是列表式的,使用ListView会更好吗? 对于这个用例,它是否会产生很大的不同? 谢谢!解决方法:RecyclerView是作为ListView改进编写的,所以是的,您可以使用ListView控件创建一个列表,但使用RecyclerView更容易: 滚动时重用单元格 – 它在listView适配器中实现View Holder,但它是可选的,而在RecycleView中它是编写适...

java – Android RecyclerView,回收不正常【代码】

我有一个我正在使用的RecyclerView.我之前使用过RecyclerView但从未遇到过这个问题. 当我上下滚动时,一些项目消失,一些消失的项目再次出现在底部. 码: ViewHolder:public class ViewHolder extends RecyclerView.ViewHolder {public TextView txt;public ViewHolder(View view) {super(view);txt = (TextView) view.findViewById(R.id.txt);} }适配器:public class MyAdapter extends RecyclerView.Adapter<ViewHolder> {privat...

Android RecyclerView不会以编程方式更改第一个项目的背景颜色【代码】

我正在创建一个包含RecyclerView的列表.每个列表项都是来自用户的帖子(现在是硬编码的).每个帖子的背景都是从drawable文件夹中的图层列表XML文件加载的. 一切都按照预期与文本等工作,但我试图以编程方式更改背景颜色.它改变了每个项目的背景颜色,除了第一个项目,我无法弄清楚原因. 第一项始终获取由XML文件中名为shape_background的项内部形状的纯色指定的背景颜色,因此不会更改,但以下项目将获得颜色#ff22ff. 这是适配器的实现:c...

android – 在RecyclerView OnCreateViewHolder中以编程方式创建或扩充视图【代码】

基本上我想创建一个布局或使用RecyclerView以编程方式扩展布局,但是无法这样做.我知道如何通过膨胀来处理xml,但出于好奇,我想以编程方式进行操作. 我的适配器代码如下:public class ACShare extends RecyclerView.Adapter<ACShare.VHShare>{private List<Integer> listDrawalbe;public ACShare(Context context) {TypedArray drawables = context.getResources().obtainTypedArray(R.array.s_array_contact_us_share);listDrawalb...

android – 如何通过特定像素以编程方式滚动RecyclerView?【代码】

我扩展了recyclerview,所以我可以扩展它.它按照我想要的方式工作,但现在我想以编程方式滚动x个像素.用户故事是,如果我点击屏幕的上半部分,它应滚动x个像素量,同样到屏幕的下半部分. 这是我做的: 活动:@Override public boolean dispatchTouchEvent(MotionEvent event) {// if(mComicViewerFragment != null)// mComicViewerFragment.consumeEvent(event);mScaleDetector.onTouchEvent(event);if(event.getAction() == Motion...

RecyclerView Adapter内的Android ViewModel用于懒惰的数据库下载

我有一个问题与MVVM的正确设计和架构有关,而不是与编码本身有关.在我的项目中,我遇到的情况是ViewModel上提供数据,后来在RecyclerView.Adapter中使用这些数据来创建正确的视图. 但是,我想知道这是否正确(从正确的“做事方式” POV)是否将某些数据以ID的形式提供,以便进一步从Room或外部服务器获取?例如,在onBindViewHolder期间,使用带有live()的LiveData在满载时更新某些字段.解决方法:在视图中获取数据是不行的.它违背了MVVM的宗...

android – 在SQLite中保存重新排序的RecyclerView【代码】

所以我试图在我的待办事项列表应用程序中实现拖放,但是我在移动时保存行的顺序时遇到问题 – 即我移动了项目,退出应用程序并恢复到原始位置.我想到了一个解决方案. 我的解决方案 在我的表中创建一个列:specified_position.每次移动一行时,onItemMove()方法都会返回一个fromPosition和toPosition.将行的位置移动到toPosition,然后递增/更新那里及以上的所有值.每次读取表格时,它都会检查位置并根据它进行排序. 我的问题: 我的解决...