listview isEnabled()调用两次

时间:2012-11-23 12:33:48

标签: android android-adapter

我有一个自定义adapter,我在其中覆盖了isEnabled()方法。

我注意到,当方法被调用时,它被调用,触摸,然后触摸,触摸。如果你想要采取一些行动,这有点令人恼火。

让我们说你展示了Toast效果。效果会闪现两次。

示例:

@Override
public boolean isEnabled(int position) {

    Toast.makeText(mContext, "Hello", Toast.LENGTH_SHORT).show(); // this will flash up twice
    return true;
}

有没有办法禁用isEnabled()方法的触控功能?

1 个答案:

答案 0 :(得分:1)

在适配器中使用通用变量

Boolean isFirstTime=true;

@Override
public boolean isEnabled(int position) {

    if(isFirstTime){

        Toast.makeText(mContext, "Hello", Toast.LENGTH_SHORT).show(); // this will flash up twice
        isFirstTime = false;
    }


    return true;
}