使用ViewHolder Android的onTouch方法

时间:2013-07-01 14:11:05

标签: android android-layout android-animation android-view

我有一个实现OnTouchListener类的BaseAdapter。 onTouch方法是:

@Override
public boolean onTouch(View v, MotionEvent event) {

    switch (event.getAction()) {

    case MotionEvent.ACTION_DOWN: {
        startY = event.getY();
        break;
    }

    case MotionEvent.ACTION_UP: {
        float endY = event.getY();

        if (endY > startY) {
            layoutComments.startAnimation(animDown);
            layoutComments.setVisibility(View.GONE);
        }

    }

    }
    return true;
}

layoutComments变量插入在getView方法中声明的ViewHolder中的问题:

public View getView(int position, View convertView, ViewGroup parent) {
    final ViewHolder holder;
...
...

程序无法查看变量,并且存在两个编译器错误。如何从onTouch的变量v中获取ViewHolder?

1 个答案:

答案 0 :(得分:1)

通常的设计做法不是将ViewHolder设置为视图convertView.setTag(holder)上的标记,因此只要您通过以下方式引用视图,就可以检索它:(ViewHolder) view.getTag()

相关问题