android适配器ViewHolder中子控件修改属性必须定义成final类型

我在getView()方法中写了viewholder子控件的点击事件,在点击事件里面操作viewholder子控件,修改其属性,这时候提示我必须将viewholder修改为final,可是如果修改为final,别处就会报错,于是,我又定义了一个viewholder2,将其定义成final的,把viewholder赋值给它.
现在遇到这样的问题,比如我刷新这个界面的时候,如果有新的数据添加上,那么原来子控件的位置不会随着它的item变化,意思就是说,以前viewholder中子控件的位置(position)是5的话,那么就算有1条新数据添加上,它的位置(position)还是5,并不会变成6,我想应该是这个final的原因,导致不会变化,应该怎么办,求解,急~~~

图片说明

一般提示定义为final,把变量改为全局的就行。

你用的是ListView 的Adapter?adapter绑定数据是在getView()方法里,adapter调用notifyDataSetChanged()刷新数据会调用getView();重新绑定数据,在getItem()没试过刷新绑定数据。要不你试试在getView()里做数据绑定。