Articles of android recyclerview

来自支持v.23.2.0的RecyclerView的dissapearenceanimation中的NullPointerException

在新的RecyclerView中,我们可以使用wrap_content作为高度(或宽度)。 所以谷歌修复了错误 – https://code.google.com/p/android/issues/detail?id=74772 但最终并非一切都很顺利。 从RecyclerView中删除项目时,我尝试使用消失的animation。 所以我使用适配器的方法 – notifyItemRemoved(int)与任何参数和RecyclerView导致NullPointerException。 Xml代码: … … 日志: E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException at android.support.v7.widget.SimpleItemAnimator.animateDisappearance(SimpleItemAnimator.java:78) at android.support.v7.widget.RecyclerView.animateDisappearance(RecyclerView.java:3246) at android.support.v7.widget.RecyclerView.access$700(RecyclerView.java:147) at android.support.v7.widget.RecyclerView$4.processDisappeared(RecyclerView.java:422) at android.support.v7.widget.ViewInfoStore.process(ViewInfoStore.java:231) at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:3086) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2914) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3277) at android.view.View.layout(View.java:14015) at android.view.ViewGroup.layout(ViewGroup.java:4373) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at android.view.View.layout(View.java:14015) at android.view.ViewGroup.layout(ViewGroup.java:4373) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1021) at android.view.View.layout(View.java:14015) at android.view.ViewGroup.layout(ViewGroup.java:4373) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1663) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1521) at […]

如何使用MvvmCross流畅的API将RecyclerView项目的TextView绑定到Android上ViewModel的属性?

我在我的Xamarin Android项目中使用MvvmCross 。 我有一个MvxActivity与MvxRecyclerView ,我已在其布局文件中分配了一个项目模板。 ViewModel非常简单,它只包含一个属性,用于保存要在RecyclerView显示的数据: public class MainViewModel : MvxViewModel { private IEnumerable _viewModelItems; public IEnumerable ViewModelItems { get { return _viewModelItems; } set { SetProperty(ref _viewModelItems, value); } } } 通常,我喜欢尽可能多地使用MvvmCross流畅的API,因为隐式重构支持。 所以在我的活动中,我绑定了MvxRecyclerView的属性,如下所示: var recyclerView = View.FindViewById(Resource.Id.my_recycler_view); var set = this.CreateBindingSet(); set.Bind(recyclerView) .For(v => v.ItemsSource) .To(vm => vm.ViewModelItems); set.Apply(); 到现在为止还挺好。 现在,项目模板的布局文件基本上只包含一个TextView : 我的ViewModelItem类看起来像这样: public […]

在“循环器视图”中的“编辑文本”滚动到屏幕外时隐藏键盘

我有一个包含EditText子元素的RecyclerView 。 当所选的EditText在屏幕上滚动时,我想隐藏软键盘。 如何判断EditText何时不在屏幕上? 是否有一些事件监听器可以附加到EditText元素来告诉?

水平回收视图,边缘褪色

如果我查看stackoverflow应用程序的水平回收查看,我可以看到他们使用“淡化边缘”技术,以便用户知道回收者视图的左侧和右侧有项目,他/她可以滚动。 在listview中,我认为通过调用Romain Guy( http://www.curious-creature.com/category/android/page/2/ )所描述的下面的内容来启用此效果: 机器人:cacheColorHint = “#00000000” 在Recyclerview中不存在这样的选择。 是否有内置方法允许这些淡化边缘用于recyclerview或者它只是必须是黑客?

当子recyclelerview滚动到最后一个项目时,禁用ViewPager分页

我有一个viewpager,在其中一个片段中,我有两个独立的片段,分别包含一个垂直和水平的recyclelerview。 当我将水平回收视图滚动到最后一项并尝试进一步滑动时,viewpager会滚动到下一页。 我不希望这种情况发生。 当我尝试过度滚动水平回收视图时,我想禁用viewpager的分页。 但是,当我在其他地方滑动时,我不想禁用viewpager的分页。 例如,如果我要在垂直的recyclelerview或父片段中的任何空白区域上滑动,它仍然会导致viewpager更改页面。 我在这个SO问题中读到了如何禁用viewpager的分页。 另外这个问题类似于有一个子viewpager,但是我没有成功尝试用水平回收查看来复制它。 这是一些结构: 自定义viewpager允许我禁用分页(从上面的第一个SO链接获取): public class CustomViewPager extends ViewPager { private boolean enabled; public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); this.enabled = true; } @Override public boolean onTouchEvent(MotionEvent event) { if (this.enabled) { return super.onTouchEvent(event); } return false; } @Override public boolean onInterceptTouchEvent(MotionEvent event) { if (this.enabled) { […]

如何在协调器父级滚动Recycler视图上显示/隐藏FAB

我有一个协调器layout.inside活动的活动有一个片段与Recycler视图和浮动按钮。我可以显示/隐藏浮动按钮当Scroll Recycler查看并避免使用fab行为?! 在活动布局中:CoordinatorLayout —–> AppBarLayout —->工具栏和FrameLayout以及底栏视图 在片段布局中:RelativeLayout —-> Recycler视图和浮动按钮 我想实现像Google+主页这样的内容。 我该如何实现这种情况? 临时我使用这个解决方案来解决我的问题: 使用我的片段中的接口的活动协调器布局和使用fab行为显示/隐藏fab …直到我find更好的解决方案!

NativeAdsExpress强制RecyclerView滚动以使NativeAd在首次加载时完全可见

我有一个奇怪的“问题”或者它可能是一个“function”,我只是不知道,只要在我的RecyclerView中加载NativeAdExpress,如果只有部分NativeAd可见,它会强制RecyclerView滚动直到原生广告变得完全可见,这种行为导致列表在滚动时继续跳跃。 我的布局主要是: 活动>带有标签和ViewPager的AppBar> Pager中的每个页面都包含PullToRefresh,里面有一个RecyclerView,RecyclerView有两种types的项目(Article和NativeAdExpress)。 更新:我猜测为什么会发生这种情况主要是因为原生广告在webview中expression渲染,并且这个webview获得焦点然后这会导致RecyclerView滚动到它,但这只是一个猜测 更新2:显然这是支持库中的一个问题。 24.0.0,这是过于up2date的成本:( Heres是我的完整XML /布局 其中“app_bar_main.xml”如下: 最后我有2个View Types Item和NativeAdExpress: NativeAdExpress ViewHolder如下: public class NativeExpressAdViewHolder extends BaseCardAdViewHolder { private final NativeExpressAdView view; private boolean loaded = false; private AdListener adListener; private WeakReference context; public NativeExpressAdViewHolder(View itemView, String adId, Context context) { super(itemView); view = new NativeExpressAdView(context); view.setAdUnitId(adId); ((LinearLayout) itemView.findViewById(R.id.express_ad_holder)).addView(view); this.context = new […]

Onclicklistener没有处理recyclerview

我正在使用recyclerview,下面给出的相同代码对我来说工作正常,但我尝试了以下代码,但它无法正常工作 recyclerView = (RecyclerView)v.findViewById(R.id.datelist); recyclerView.setClickable(true); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); recyclerView.setAdapter(adapter); adapter.setOnItemClickListener(this); 在适配器中 public class UpdateHolder extends RecyclerView.ViewHolder implements View .OnClickListener,CompoundButton.OnCheckedChangeListener { TextView uname; TextView uversn; TextView usitting; public UpdateHolder(View itemView) { super(itemView); uname = (TextView) itemView.findViewById(R.id.update_name); uversn = (TextView) itemView.findViewById(R.id.update_version); usitting=(TextView) itemView.findViewById(R.id.sitting_type); Log.i(LOG_TAG, “Adding Listener”); itemView.setOnClickListener(this); } @Override public void onClick(View v) { myClickListener.onItemClick(getPosition(), v); } } […]

在recyclerview中刷新行的视图问题

我想在调用notifyItemChanged时更新recyclerview的视图。 问题是我不想刷新整行而只想刷新行的视图。 (以避免行的闪烁效果) 有一个名为notifyItemChanged(int,payload obj)的方法。 我可以用它来实现吗? 如果是这样怎么办?

无法在RecyclerView下方放置视图

我在将Adview放在RecyclerView下面时遇到了麻烦。 目前, RecyclerView正在占用布局的其余部分,并且未显示Adview 。 我在网上find的解决方案都没有解决我的问题。 通常layout_weight或layout_below解决了问题,但在这种情况下不是。 XML