Android ListView中加入Spinner的一些问题

来源:互联网 发布:小照域名授权源码 编辑:程序博客网 时间:2024/06/05 07:30

前段时间入手了一台Android系统的G2,入手的原因很简单了,想研究Android方面的应用开发。断断续续的看了一些资料,了解了一些基本的知识,这几天就准备做一个将Excel表格的通讯录导入到手机里。做了有几天了,前面断断续续的有一些小问题,都是些初学者常有的,今天做了一个ListView中加入Spinner,花了很多时间.

第一次,SimpleAdapter,通过新建一个spinner,然后用adapter加到列表中,当然是失败,报错是SimpleAdapter不能绑定spinner这个view。以后想想也是,每一个spinner是通过我们指定的layout.xml产生的,新建一个spinner不可能通过adapter绑定到列表中。

后来,看了一些例子,才知道,很多情况下,还是要自定义adapter。于是依样画葫芦,自定义了一个adapter。最终代码如下:

 

构造函数,传入了布局的相关资源,同时传入了显示文本的数组,和spinner里的选项数组,ListView的显示结果样子如下:

 

姓名 spinner1

电话 spinner2

....

当然,每一个spinner都有相同的选项,但是,我所希望的是,姓名,对应spinner1中的某一个选项,电话 对应spinner2中的某一个选项

可是运行的结果却有点乱,如果ListView在一屏内显示完,那倒没问题,但是,如果要多屏,在滚屏之后,spinner的选项会完全乱掉,也找不到什么规律。

于是用Log.e打印出相应的position和spinner(红色显眼),发现position和spinner之间没有对应关系。

 

解决的方法就是,在spinner选择之后,应当将选项记录下来,在getView中,把为spinner指定一个选项。

 

开始按这个思路做。