在Android中显示将可分配数据传递给xml布局

时间:2016-09-17 19:48:24

标签: android loops android-intent parcelable xml-layout

尽管在stackoverflow和google中检查了很多问题,但我找不到解决这个问题的方法。

有人可以发布并解释示例代码如何在Android中使用parcelable与多个数据以及如何在循环的xml布局中传递和显示它。

E.g。对于餐厅活动,它将传递并显示以下项目到餐厅菜单活动。

  1. 餐厅名称
  2. 餐厅地址
  3. 餐厅菜单类别("美式早餐")
    • 美式早餐1,美式早餐2,美式早餐3 ......
  4. 餐厅菜单类别(" Waffles")
    • 华夫饼1,华夫饼2,华夫饼3等......
  5. 所以类别和食品继续......

    谢谢!

2 个答案:

答案 0 :(得分:0)

请查看链接When and how to implement Parcelable Vs. Serializable?

它显示了如何自动生成parcelable POJO。

要将数据传达到餐厅菜单活动,请执行以下操作

Intent i = new Intent(fromActivity,toActivity);
i.putExtra("name_of_extra", (Parcelable) myParcelableObject);
startActivity(i);

在您的餐厅菜单活动中

Intent i = getIntent();
MyParcelable myParcelableObject = (MyParcelable) i.getParcelableExtra("name_of_extra");

希望这有帮助。

答案 1 :(得分:0)

从架构的角度来看,使用Parcelable似乎不适合您的情况。这些餐馆数据很可能应该存储在表格中的SQLite DB中。数据结构(数据模型)是此类应用程序的核心,您可能首先需要设计数据库方案,然后您将使用活动/视图来显示该数据,输入新数据等。

数据库会将实体保留在表格(数据模型)中,当您需要使用实体(即餐馆菜单)时,您只需发送该实体的ID,在此特定情况下通过Intent,很可能是单个整数,不需要包含实体的每个属性 - 在正在启动的Activity中,您从Intent的额外获取id,并使用该id,活动从SQLite DB中检索实体的属性并将值放到适当的视图中,这是一个普通的例程。

当您需要显示许多记录时,您可能会使用Adapter,其目的是将源表中的数据映射到视图中,尤其是如何将数据库从DB渲染到视图中(可能使用子视图) )这将代表该记录。谷歌有关适配器的教程,几乎总是在屏幕上有表格时使用它们。

已审核 - 您需要查看Android的ListView控件,请在此处阅读指南:http://www.vogella.com/tutorials/AndroidListView/article.html

在iOS中使用表格,我的错误。