用android创建动态视图

Posted

技术标签:

【中文标题】用android创建动态视图【英文标题】:Create dynamic view with android 【发布时间】:2011-02-12 02:02:52 【问题描述】:

我遇到了一个问题,如果可能的话,我需要社区的帮助。我不是在寻找现成的解决方案,而是在寻找可以帮助我产生结果的东西。

我正在寻找一种基于 JSONArray 对象生成动态活动的方法。 这里是一个 JSONArray 对象的例子:

[  "name": "my checkbox name",
    "type": "checkbox",
    "value": "one,two,three"
  
   "name": "my edit text",
    "type": "text",
    "value": ""
  
  ...]

这个 JSONArray 可能是完全随机的。它可以有 2 个文本视图、3 个选择菜单、1 个文本视图等等。

目标是遍历这个 JSONArray 并在我的 android 代码中创建适当的元素。

为了产生结果,我想到了一个简单的开关,它将我不同的 JSONArray 一个一个地渲染到一个 android 小部件。

但在那之后,我如何才能访问每个呈现的小部件的每个属性?

编辑:我还需要在某些小部件上分配一个事件侦听器作为 GPS 协调...

谢谢。

编辑:这是一个 JSONArray 而不是 JSONObject...

【问题讨论】:

【参考方案1】:

当您以编程方式生成小部件时,您可以为它们分配您自己的 ID。

例如:

Button btn = new Button(this);
btn.setId(myBtnId);

稍后在您的代码中,您可以使用findViewById(myBtnId) 引用该按钮。

【讨论】:

谢谢你的快速回答,我明天晚上试试。很高兴避免操纵动态变量。 看起来您找到了一个很好的解决方案,但我想我会提醒您注意我刚刚结束的一个项目,该项目包含类似的挑战。我记录了该方法并在此处提供了源代码:labs.makemachine.net/2010/04/android-form-generator

以上是关于用android创建动态视图的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中使用 Spinner Dependable 创建动态视图

在android上动态创建视图和getWidth方法

Android:创建自定义视图并将其动态添加到布局中

如何以编程方式动态创建所有 Android ui 组件的列表?例如文本视图、图像视图等

在 Android 中动态且顺序地用颜色填充图像视图或位图

处理点击动态创建布局android的子布局