【发布时间】:2013-08-12 15:32:25
【问题描述】:
我有一个带有 OnItemClickListener 和 OnItemLongClickListener 的列表视图。
在我的 listadapter 的 getView 方法中,我设置了一个带有 TransitionDrawable 作为背景的视图,然后我将一个 OnTouchListener 应用到该视图,这样当用户按住视图并按住它时,他就会看到转换发生。
问题是 OnTouchListener 必须返回 true,否则只会捕获 ACTION_DOWN 运动事件。但是通过返回 true,我的 OnItemClickListener 和 OnItemLongClickListener 不会被触发。
问题是如何既显示 TransitionDrawable 的动画又触发点击事件?
数组适配器的getView(..):
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
convertView.setOnTouchListener(touchListener);
return convertView;
}
OnTouchLIsener:
OnTouchListener touchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
TransitionDrawable transition = (TransitionDrawable)v.getBackground();
if(event.getAction() == MotionEvent.ACTION_DOWN) {
transition.startTransition(ViewConfiguration.getLongPressTimeout());
return true;
}
else {
transition.resetTransition();
}
return false;
}
};
【问题讨论】:
标签: android listview transitiondrawable