如何获取布局中动态添加的spinner的内容? 15

现在有父布局LinearLayoutid为payItemts有子布局LinearLayoutid为payItem子布局payItem中包含一个id为accountName... 现在有父布局LinearLayout id为payItemts
有子布局LinearLayout id为payItem
子布局payItem中包含一个id为accountName的spinner、一个id为payMoney的EditText
在activity中,通过有一个按钮btA,可以动态的往父布局中添加子布局,每点击一次,动态添加一个item
有一个btB,如何通过点击btB获取Activity中所有Spinner的内容?(spinner可能有多个)
现在纠结的点在于:
如果通过点击btB,在onClick方法中,通过for循环和getChildAt方法获取到每个子布局,再通过findViewById获取到Spinner,那么就无法获取到Spinner选中的内容了,因为点击了按钮之后,才会执行Spinner的onItemSelected方法是在点击了btB之后执行的
如果直接在onCreate方法中获取Spinner,那么动态添加的Spinner就无法获取到了
请问该怎么解决啊
展开
 我来答
鼓风管a
2015-12-06 · TA获得超过982个赞
知道大有可为答主
回答量:1393
采纳率:0%
帮助的人:1216万
展开全部
Android的listview和spinner等组件都采用了MVC模式来操作数据,也就是说,不能直接调用组件类的方法(如add或其他类似的方法)来添加、删除数据。而要通过一个Adapter对象(SimpleAdapter、ArrayAdapter等)来完成这个工作。ListView相当于MVC中的V(视图层),用来显示数据。Adapter对象相当于C(控制层),用来将数据(数组、List)与ListView连接在一起。因此,操作数据需要在Adapter对象中进行。如果列表项很复杂,可以自定义Adapter类(一般从BaseAdapter类继承)。然后在Adapter类中添加相应的增加、删除等方法。当然,也可以直接更改数据源(数组或List对象),然后调用Adapter类的notifyDataSetChanged方法来通知Adapter对象数据已经改变。ListView或Spinner会自动更新相应的列表项。最近在写一本关于Android开发的书,里面详细介绍了这个过程,并提供了大量的例子以供参考。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式