Code Bye

ListView 中item 子控件怎么样获取当钱条目的position

在ListView 的长按点击事件中,设置了此条目不可被点击,相应的状态改变:

然后在自定义的adapter中添加回调,添加子控件的点击事件,用来改变此条item的状态。现在的问题是:如图中所示,连续的做了三个长按操作,点击第一条item中的按钮进行取消操作时,取消了第三条的item的状态,本人分析原因是  item的position 不明确,最后的一次长按操作的position是 2,恰巧是刚刚完成长按操作的item的position。不管是点击第一条还是第二条,改变的永远是刚完成操作的那一个item,请教高手怎么样解决这样的问题?
解决方案

40

引用:
Quote: 引用:

按钮的点击事件写到适配器里面

对了,提问的时候忘了说一件事情,目前的需求是在页面初始化的时候,后面的那个按钮是没有焦点的,在长按以后才会获得焦点,实现点击事件,假如在adapter中实现点击事件的话,在页面初始时,按钮就是可点击的吧

可以在每一行再加一个标记,初始时标记都是false  ,长按后按的那一行标记改为true 。 按钮按下先判断标记  false就不做任何反应就行了,达到和没焦点一样效果。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明ListView 中item 子控件怎么样获取当钱条目的position