我想知道如何在网格视图中显示我的笔记,清单和图像的快照。我创建网格视图没有问题但是创建它的预览是我现在面临的挑战,因为我需要根据创建时间向网格添加不同类型的视图(文本,清单,图像视图)。适用于单一类型的视图,如图像或文本。
或换句话说。如何动态地将不同视图添加到GridView适配器?
感谢所有或任何帮助。
感谢。
答案 0 :(得分:3)
他们肯定不会使用GridView for google Keep - 但可能仍然是Adapter。
要在适配器上使用不同的视图,您可以使用不同的视图类型:
getViewTypeCount()
以返回您支持的视图类型的数量。getItemViewType(int position)
中为此特定项目返回相应的类型。getView(int position, View convertView, ViewGroup parent)
。请记住,回收规则,ViewHolder等仍然适用。对于多种类型,只有正确的类型才能进行回收。
Marcus Körner shared a gist by Jake Wharton on G+ recently可能有用。
答案 1 :(得分:1)
如果没有实际使用GridLayout,Google很可能会使用与GridLayout类似的内容。
可能还会以编程方式创建布局,以允许窗口小部件根据它们各自显示的内容而具有不同的大小。
答案 2 :(得分:1)
recyclerView= (RecyclerView) findViewById(R.id.recycler);
recyclerView.setLayoutManager(new
StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));
initData();
MasonryAdapter adapter=new MasonryAdapter(productList);
recyclerView.setAdapter(adapter);
SpacesItemDecoration decoration=new SpacesItemDecoration(16);
recyclerView.addItemDecoration(decoration);