【问题标题】:Display List view or Grid view in same layout on button click单击按钮时以相同布局显示列表视图或网格视图
【发布时间】:2016-11-02 06:23:21
【问题描述】:

在我的屏幕上,我必须在单击用户“Listview 按钮”和“Gridview 按钮”按钮时以 Listview 或 Gridview 的形式显示我的数据,

我已经为 listview 和 Gridview 创建了两个不同的布局文件,我希望它们在用户单击 listview 按钮时根据用户需要显示用户在网格视图中的数据。

非常感谢您的帮助。谢谢。

【问题讨论】:

  • 我强烈建议为此使用 recyclerview。
  • 实际上,列表视图和网格视图中的数据项是不同的,或者我可以说这两种布局是---第一个布局是 Listviews- 包含两个用于商店名称和地址的文本视图和第二个布局视图(我称之为 Gridview) - 它有 3 个数据项存储名称、地址和存储图像:)

标签: android android-layout listview android-gridview


【解决方案1】:

您可以通过多种方式实现这一目标:

  1. 将 ListView 和 GridView 堆叠在 FrameLayout 中,当您想要在这些视图之间切换时,将可见性 GONE 设置为一个视图,将 VISIBLE 设置为另一个视图,反之亦然。

  2. 将 ListView 和 GridView 都放在 ViewFlipper 中,或者使用 ViewSwitcher

  3. 最后,只使用 GridView,但是当您想要转换到列表视图时,以编程方式将列数设置为 1。

【讨论】:

  • 实际上,列表视图和网格视图中的数据项是不同的,或者我可以说这两种布局是---第一个布局是 Listviews- 包含两个用于商店名称和地址的文本视图和第二个布局视图(我称之为 Gridview) - 它有 3 个数据项存储名称、地址和存储图像:)
【解决方案2】:

你可以使用 RecyclerView 代替 ListView

recyclerview 有 layoutManager,你可以设置它们 LinearLayout(same as simple listView ) or GridView

这样您就可以创建线性和网格布局管理器以及当用户按下按钮时 changeLayoutManager

 RecyclerView  recyclerView = (RecyclerView) findViewById(R.id.mainRecycleView_RCL);
 LinearLayoutManager mLinearLayoutManager = new LinearLayoutManager(this);
 StaggeredGridLayoutManager mGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL); // 2 is number of items per row
 recyclerView.setLayoutManager(mLinearLayoutManager); // deafult

当你想改变时:

recyclerView.setLayoutManager(mLinearLayoutManager);
OR
recyclerView.setLayoutManager(mGridLayoutManager);

【讨论】:

  • 实际上,列表视图和网格视图中的数据项是不同的,或者我可以说这两种布局是---第一个布局是 Listviews- 包含两个用于商店名称和地址的文本视图和第二个布局视图(我称之为 Gridview) - 它有 3 个数据项存储名称、地址和存储图像:)
  • 很久以前,但我相信你需要标签!
【解决方案3】:

使用 RecyclerView 并更改 LayoutManager:

【讨论】:

  • 实际上,列表视图和网格视图中的数据项是不同的,或者我可以说这两种布局是---第一个布局是 Listviews- 包含两个用于商店名称和地址的文本视图和第二个布局视图(我称之为 Gridview) - 它有 3 个数据项存储名称、地址和存储图像:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-26
  • 2011-07-13
  • 2014-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
相关资源
最近更新 更多