最近遇到了一个问题,就是我的listviewitem中有个图片,点击的时候需要变成另一种图片,结果在getView()中设置了响应,但是可以执行,就是不起作用,在网上查了很多资料也没有解决。最后发现时ViewHolder的创建位置有问题;之前是在adapter入口的位置创建了一个adapter,这样每次执行getView()的时候只是重新new了一个对象出来,所以setOnClickListener的时候,每一个listitem并没有一个自己对应的ViewHolder,而是共用了一个ViewHolder;正确地做法是在getView()中创建ViewHolder,这样每个listitem都有自己的viewholder,可以针对其设置响应事件,不知道说清楚了没有。
时间: 2024-10-20 13:41:25