我正在开始我的第一个真正的Android应用程序,我有一些初学者的问题 我是一位经验丰富的C#开发人员,但这是我第一次使用Android。
我设计了屏幕,我从第一个开始。似乎应该有一种直截了当的方式来做我想做的事情......
数据模型非常简单:它是一个对象列表,每个顶级对象都包含一个子对象列表。我希望第一个屏幕有一个前一个和下一个按钮的当前顶级对象;仅显示当前的顶级。还会显示该顶级的子对象。
当按下下一个或上一个按钮时,我想循环到下一个/上一个顶级对象,当然还要刷新子对象列表。
我认为这可以通过两个Buttons,一个TextView和一个ListView或GridView完成,但我想知道是否有更好的方法 - 也许是一个我不知道的控件。感觉我应该有一个适配器并将控件绑定到此适配器。
此外,它可以在视图中完成所有操作吗?片段在这里似乎有点过分杀戮。 最后,拥有一个简单的对象层次结构是合理的:
public class SubObject {
private String _name;
... other properties, get/set methods, etc.
}
public class TopLevel {
private String _name;
private List<SubObject> _subObjects;
....
}
任何帮助,建议或示例表示赞赏!谢谢!
菲尔
答案 0 :(得分:1)
我认为你的意思是可以在一个活动中完成所有这一切(视图是一个单独的屏幕项目 - 单个按钮,单个文本视图等)。是的,如果您不希望单独的屏幕区域片段让您不使用它们,那就完全没问题了。
Android并没有像你想象的那样拥有适配器。它唯一的适配器用于将位置映射到ListView / GridView / ViewPager中的视图。它根本不用于其他视图。但你似乎有正确的做事方式。您也可以使用Fragments和ViewPager执行此操作,然后在下一个/上一个按钮上切换片段,每个片段将初始化一次。但这是一个偏好问题,也不是错误的。
答案 1 :(得分:0)
在Android中,推荐用于多级数据显示的UI模式是使用主细节(和递归子主细节)布局as explained here.如果您选择遵循此模式,则必须使用片段,以及<{3}}和ListView
完全实施。
但是如果您选择使用简单的布局,例如:标题和带有下一个和上一个按钮的内容视图,则不需要片段。您只需在按钮导航中替换标题和内容视图中的数据即可。对于数据,您可以使用Database Cursor或您自己的数据模型类。