我正在创建一个应用程序,在该应用程序中,用户使用图像创建元素,并将其显示为列表。它看起来像Google,其中创建的元素不具有相同的高度,但宽度相同,分布在两列中。元素创建的顺序很重要,必须以这种方式从上到下排列。如照片中所示,每个数字表示元素创建的顺序,而不是按预期的方式排序。
有什么方法可以定义元素的排序方式吗?我要点菜:
1 2
3 4
5
诸若此类。
这是我初始化RecyclerView、适配器和布局管理器的代码片段:
RecyclerView recyclerView = findViewById(R.id.recyclerView);
AdapterRecyclerView adapterRecyclerView = new AdapterRecyclerView(getContext(), list);
recyclerView.setAdapter(adapterRecyclerView );
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(staggeredGridLayoutManager);我已经试过了
staggeredGridLayoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS);但没起作用,我也试过
staggeredGridLayoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);但它没有显示任何东西,只是一个空白的布局。
编辑:任何其他的方式,这将被命名,一个库,另一个想法等。
发布于 2018-04-21 13:34:55
您可以尝试在元素上设置一个值,该值指示列表的位置和顺序,然后将其设置为适配器。我建议您使用长值,并在创建对象时使用System.currentTimeMillis()设置它,因此您将确保值是唯一的,并将准确指示何时创建。
https://stackoverflow.com/questions/49755683
复制相似问题