Android Listview行的ImageView OnClick延迟

时间:2013-04-25 09:11:18

标签: android listview optimization onclick imageview

this thread类似,我在ListView行内的视图的点击响应有延迟。

此外,当listview外部的视图获得焦点时,会立即触发点击侦听器。

我的问题是,除了完全抛弃ListView之外,还有其他方法可以解决这个问题,如上面的链接所示?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我刚刚在其他人的帮助下解决了这个问题。

似乎您使用哈希数组来保存Listview行,以避免在实现 getView()方法时多次膨胀新视图。

但是,使用哈希数组会使侦听器的状态变得混乱,因此会导致您描述的问题。

因此,删除哈希数组,只返回getView()方法中的行视图。

答案 1 :(得分:0)

我有同样的问题。我希望我能帮助你。 我通过使用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;
}