Articles of android recyclerview

如何从RecyclerView.Adapter 打开片段

1.TabLayout – tab1 (Fragment1) – tab2 (Fragment2) – tab3 (Fragment3) * RecyclerView + CardView (OnClick) 在CardView ClickListner上打开tab3中的另一个片段。 那么如何在tab3中打开片段。 错误在getFragmentManager() : FragmentTransaction transaction = getFragmentManager().beginTransaction(); 而不是这个,我试过: FragmentTransaction transaction = activity.getFragmentManager().beginTransaction(); FragmentTransaction transaction = itemview.getContext().getFragmentManager().beginTransaction(); 但错误并未解决。 这是我的代码: public class CardAdapter extends RecyclerView.Adapter { List mItems; private int lastPosition = -1; Context context; TaskFragment main; public CardAdapter(Context context,TaskFragment […]

在使用RecyclerView时,notifydatasetchanged调用onCreateViewHolder

我想使用切换来在两个不同的视图之间切换,但使用相同的RecyclerView 。 基本上,一旦你切换,我希望RecyclerView适配器调用onCreateViewHolder()但这次它将使用不同的布局项文件。 notifydatasetchanged()会导致适配器重建吗? 或者还有另一种方式吗?

查看RecyclerView上方和下方的视图

我有一个显示动态内容的RecyclerView。 我想在其他视图之间显示这个RecyclerView。 例如,上面显示的一个View和RecyclerView下面显示的一个View: View RecyclerView View 然而,无论我尝试什么似乎都没有工作,RecyclerView似乎占据了整个空间。 我相信问题在于wrap_content问题 ,虽然我已经尝试了一些建议的解决方案,例如这个自定义的LinearLayoutManager ,但它似乎没有解决我的问题。 尝试: 问题:有没有办法在RecyclerView上面放置和显示View以及View? 如果是这样,怎么样? 或者使用ListView更好?

TextView在某些分辨率下被削减

我有一个RecyclerView ,其中包含带有TextView和ImageView的CardView ,以及其他一些布局。 问题是,在某些屏幕分辨率下, TextView被切断或推到下一行,这是我不想要的。 在其他分辨率, TextView有足够的空间。 小决议: 高分辨率: 如何组织布局以便TextView有足够的空间,并且ImageView大小会相应调整? 这是我的RecyclerView项目的xml:

RecyclerView – 获取所有现有视图/查看者

我想在显示数据时更新RecyclerView ,在我的情况下,我会显示带或不带标签的图像。 默认情况下,我在创建视图持有者时设置了标签的可见性,这很好,但我希望用户在显示RecyclerView通过菜单更改标签可见性,因此我想手动更新所有现有视图的可见性RecyclerView 。 我能以某种方式获得所有现有的Views吗? 我需要所有,不仅仅是可见的,我不希望以后回收的View不会更新……

Viewpager没有显示在RecyclerView行内

我想制作一个“照片细节”活动或片段,我在其上方和下方显示照片aViewpPager,显示相关照片的评论和喜欢(2个标签)。 为了使屏幕’Scrollable’所以我可以向上/向下滚动评论和喜欢并向左/向右滑动我决定使用带有2行的RecyclerView: 行1:照片(ImageView)。 第2行:SlidingTabLayout + ViewPager + FragmentPagerAdapter。 代码编译并运行,显示图像和slidingTabLayout,但不显示ViewPager。 所以我的两个主要问题是: 1 – 我的实施有什么问题。 2 – 对于我想要达到的目标,是否有替代或更好的解决方案? 注意:我不想使用带有header的listView。我想使用RecyclerView,因为它更容易在网络的顶部/底部添加元素。 PhotoDetailsActivity.java public class MainActivity extends ActionBarActivity { RecyclerView recyclerViewPhotoDetails; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.recyclerViewPhotoDetails = (RecyclerView) this.findViewById(R.id.recycler_view_photo_details); this.recyclerViewPhotoDetails.setLayoutManager(new LinearLayoutManager(this)); this.recyclerViewPhotoDetails.setAdapter(new PhotoDetailsRecyclerAdapter(this.getSupportFragmentManager())); } } PhotosDetailsRecyclerAdapter.java public class PhotoDetailsRecyclerAdapter extends RecyclerView.Adapter { private static final int […]

如何将RecyclerView放在工具栏下方以及TabLayout和ViewPager之上还以自定义方式处理对滚动的响应?

我想创建一个如下图所示的布局: CoordinatorLayout包含: CollapsingToolbarLayout(包含ImageView和工具栏) RecyclerView TabLayout ViewPager(它的每个片段都包含一个RecyclerView) 我想以这种方式回应滚动事件: CollapsingToolbarLayout通过滚动展开和折叠 工具栏顶到顶部,直到TabLayout到达顶部 在该工具栏向上滚动并且TabLayout坚持到顶部 我在CollapsingToolbarLayout和TabLayout之间使用RecyclerView时遇到问题。 我可以在没有RecyclerView的情况下实现这种布局(我将CollapsingToolbarLayout和TabLayout放在AppBarLayout中,将ViewPager放在它外面,在CoordinatorLayout内)。 我的问题: 我应该把RecyclerView放在哪里? 我应该为每个布局设置layout_scrollFlags和layout_behavior哪个&哪里? 似乎AppBarLayout的高度有限。 当我将RecyclerView放在AppBarLayout中时,只有RecyclerView的一部分可见,并且TabLayout也会消失。 我阅读了很多像这样的教程和许多像这一个和这个的问题,但是没有它们对我有帮助。

嵌套的Recyclerview自行滚动

我有一个父回收站视图,里面有3个子视图。 孩子的最后两个是recyclerview。 Parent recyclerview – child view 1 – child view 2 (horizontal rv) – child view 3 (horizontal rv) 问题是每当这个片段可见时,它会自动滚动以与child view 2的底部对齐。 我已将父rv设置为侦听滚动。 这就是我最终的结果: dy: 108 dy: 72 dy: 75 dy: 62 dy: 48 dy: 42 dy: 34 dy: 27 dy: 22 dy: 16 dy: 12 dy: 10 dy: 7 dy: 5 dy: 3 […]

具有不同单元格宽度的RecyclerView Grid的LayoutManager

StaggeredGridLayoutManager似乎不允许自定义单元格宽度或跨越多个列(垂直方向除外)以进行垂直方向。 如上所示,用于组织单元格的首选LayoutManager是什么? PS我只是想知道如何使用StaggeredGridLayoutManager自定义单元格宽度而不是高度。 我知道高度可以按照此示例中的实现进行定制。 public class VerticalStaggeredGridFragment extends RecyclerFragment { public static VerticalStaggeredGridFragment newInstance() { VerticalStaggeredGridFragment fragment = new VerticalStaggeredGridFragment(); Bundle args = new Bundle(); fragment.setArguments(args); return fragment; } @Override protected RecyclerView.LayoutManager getLayoutManager() { return new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL); } @Override protected RecyclerView.ItemDecoration getItemDecoration() { return new InsetDecoration(getActivity()); } @Override protected int getDefaultItemCount() { return 100; […]

如何为回收器视图的布局管理器的更改设置animation

我正在使用带有2个不同布局布局管理器的循环器视图,即LinearLayoutManager和GridLayoutManager。 我想在从一个布局管理器切换到另一个管理器时为项目设置animation。 有没有办法达到这个效果? 我脑子里popup的接近方法是覆盖setLayoutManger方法并使用fromLayoutManager捕获项目的BEFORE状态,并使用toLayoutManager计算项目的AFTER状态,并将这些项目设置到位。 我没有深入研究这些代码,所以任何人都可以告诉我这种方法是可以实现的,还是有更好的方法来实现这一目标?