在Android上动态创建屏幕和底层数据访问层

时间:2011-03-28 15:20:45

标签: android dynamic views data-access-layer

我希望允许用户通过从运行时中的现有字段集中进行选择来动态创建“自定义屏幕”,即,所有内容都应该在手机上的App上完成。

例如 - 现有的一组字段= {name, location, picture, age}

用户A想要创建一个包含字段名称,位置和年龄的新屏幕。

并且用户B想要一个只有名称和图片的屏幕。

这些屏幕应该是持久的,并且应该能够在手机上的本地数据库中保存,查询和编辑信息。

有关如何在Android中实现此功能的任何帮助将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:0)

创建一个PreferenceScreen并添加一些带有字段名称的布尔首选项。因此,每个用户都可以配置要在数据活动中显示的字段。

答案 1 :(得分:0)

您将需要在Java中动态创建这些视图(不使用布局)。我会将某种XML模式放在一起,然后将其保存在数据库或设备上。然后你可以做以下事情:

//pseudo-code
while (xmlDoc isn't empty) {
View v = null;
if (XML says to create a text view) {
    v = new TextView(this);
    ...
}
else if (XML says to create an ImageView) {
    v = new ImageView(this);
    ...
}
add v to the LinearLayout or whatever type of root view will be passed to setContentView().