2010-04-25 75 views
3

我被困在一个问题上,如果可能的话我需要社区的帮助。我不是在寻找现成的解决方案,而是能够帮助我产生结果的东西。用android创建动态视图

我正在寻找一种方法来生成基于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 ...

谢谢。

Edit:这是JSONArray not一个JSONObject ...

回答

3

When你使用程序生成的小部件,你可以指定他们你own ID。

例如:

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

而且在后面的代码,你可以参考该按钮与findViewById(myBtnId)

+0

谢谢你的回答,我明天晚上再试。很高兴避免操纵动态变种。 – Kevin 2010-04-25 14:57:25

+0

看起来你找到了一个很好的解决方案,但我想我会提醒你我刚刚结束的一个项目包含了类似的挑战。我记录了该方法,并在此处提供了源代码:http://labs.makemachine.net/2010/04/android-form-generator/ – JeremyFromEarth 2010-04-27 18:35:44