安卓编程ListView的每一项是由两个Spinner和一个EditText组成的

运行之后发现当前面的内容选中之后,列表移动了之后,或是我点击编辑框之后,内容都回到没选中之前的状态。我形象一点:<1> spinner1,spinner2,editText, //这不是代码,相当于listview当中一项,我先改变spinner1,spinner2<2> spinner1,spinner2,editText, //选中的项,然后单击editText之后,Spinner内容变回我没选中的状态<3> spinner1,spinner2,editText, //。滚动列表也会这样,怎样保存每次Spinner中选中项呢<4> spinner1,spinner2,editText,<5> spinner1,spinner2,editText,
2026年09月24日 11:28
有2个网友回答
网友(1):

按照我的想法是,你在更改了下拉列表组件之后将组件的当前选择值用变量保存下来(在组件的监听器方法里面),然后在退出监听器之前将当前的spinner用组件特定方法设置为你更改的值。
或者,在编辑editText的时候将上边保存的值传入进来,然后在edittext组件的监听器退出之前,将spinner设置为之前保存的值即可。

网友(2):

在adapter添加一个List>
map里面保存
“position" int, //listview item的ID
"spinner1state" int, //spinner1的选项ID
"spinner2state"int, //spinner2的选项ID
getView方法里面根据spinner选项状态绘制每个item的spinner

在监听itemClickListener的时候,把position和两个spinner的选项状态传给adapter的map保存起来

这样应该可以吧,你试试