Android: 如何使用 onClick 将一个列表视图动态替换为另一个列表视图,例如 Instagram?

Android: How to dynamically replace a list view with another list view like Instagram with onClick?

我正在构建一个 android 应用程序,如果您单击一个按钮,我将尝试用另一个列表视图替换一个列表视图,例如 Instagram 上的通知页面。在该页面上,如果您单击顶部的 "following" 按钮,它将显示您的关注者喜欢的列表视图。如果您单击 "you" 按钮,它会显示一个列表视图,其中包含人们喜欢您的照片的内容。

如有任何帮助,我们将不胜感激!

您可以通过以下方式进行, 1. 添加两个列表视图,可以根据您的要求更改可见性。 2. 单击按钮,您可以将其他数据加载到同一个列表视图中,并可以在同一个列表视图中更新您的适配器。

在 1 中,您必须首先加载两个列表视图,如果数据较大,这将消耗更多时间确保您可以在 asynctask 中编写登录以在后台线程中加载列表视图。

在 2 中,您必须在按钮处更新适配器,因此您必须在列表视图更新时为用户提供一些对话框进度条。

您可以使用最适合您的套件。

简单来说,你不需要切换Listview,你只需要切换适配器。

例如,您可以在单击关注按钮时切换到 mFollowingAdapter,在单击 select "You" 选项卡时切换到 mYouAdapter。就是这样。

您应该编写一个包含自定义适配器的列表。此适配器将能够显示您要显示的两个视图。

如果要显示的数据是相同的格式(即两者都有一个图像视图和一个文本视图),那么你的状态很好。

当你想切换到不同的列表时,获取你想要显示的信息,替换支持你的列表的集合中的数据,然后通知列表数据已更改,它应该重新绘制。

所以,这可能看起来像:

  1. 用数据 A 创建 ArrayList()
  2. 设置列表,使用此数据并显示
  3. 用数据 B 替换 ArrayList()
  4. 致电listView.notifyDataSetChanged

如果数据 A 和数据 B 有不同的视图,您仍然可以这样做,在这种情况下,您需要在自定义适配器中处理此逻辑。