【发布时间】:2013-04-19 02:43:47
【问题描述】:
类似于this thread,我在 ListView 行内的视图的点击响应中存在延迟。
此外,当列表视图之外的视图获得焦点时,单击侦听器会立即触发。
我的问题是,除了按照上面链接的建议完全放弃 ListView 之外,还有其他方法可以解决这个问题吗?
【问题讨论】:
标签: android listview optimization onclick imageview
类似于this thread,我在 ListView 行内的视图的点击响应中存在延迟。
此外,当列表视图之外的视图获得焦点时,单击侦听器会立即触发。
我的问题是,除了按照上面链接的建议完全放弃 ListView 之外,还有其他方法可以解决这个问题吗?
【问题讨论】:
标签: android listview optimization onclick imageview
我遇到了同样的问题,我只是在其他人的帮助下解决了它。
您似乎使用哈希数组来保存 Listview 行,以避免在实现 getView() 方法时多次膨胀新视图。
但是使用哈希数组会使监听器的状态混乱,所以会导致你描述的问题。
所以删除哈希数组,只在 getView() 方法中返回行视图。
【讨论】:
我有同样的问题。我希望我能帮助你。 我通过使用 OnTouchListener 解决了,每一行,我设置一个 OnTouchListener,如下所示:
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN)
{
lastTimeTouch = System.currentTimeMillis();
}
else
if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
long c = System.currentTimeMillis();
if (c- lastTimeTouch< 2000)
onClick(view);//call your onClick() funtion here
lastTimeTouch = 0;
}
return true;
}
【讨论】: