如何获取布局中动态添加的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就无法获取到了
请问该怎么解决啊 展开
有子布局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就无法获取到了
请问该怎么解决啊 展开
1个回答
展开全部
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开发的书,里面详细介绍了这个过程,并提供了大量的例子以供参考。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询