是否可以在ListView中知道是否按下/触摸(但未点击)项目并知道哪个项目?
我尝试使用“OnTouchListener”但没有成功(我可以拦截ListView上的UP和Down事件,但不拦截元素)。
我也试过“OnItemLongClickListener”,但我必须等到我想立即获取信息。
你有什么想法吗?
提前谢谢。
编辑(解决方案):
我在项目视图中将以下代码放在我的适配器中。
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
image.setImageResource(R.drawable.image2);
}
else if (event.getAction() == MotionEvent.ACTION_UP) {
image.setImageResource(R.drawable.image1);
}
return true;
}
});
现在,当我触摸某个项目时,图片变为“image2”,当我不触摸屏幕时,它会返回“image1”。
但是有一个问题,如果我按下一个项目(图像2看起来很好)并且我在列表视图中移动我的手指并且我没有触摸屏幕,它会保持在图像2上,“MotionEvent.ACTION_UP”可以不执行。 你有任何想法,一旦我不触摸屏幕,它必须返回图像1?
感谢您的帮助。
答案 0 :(得分:1)
您可以在适配器创建时将SetOnTouchListener设置为项目视图。
答案 1 :(得分:0)
您只是尝试实现监听器,然后您可以覆盖该功能或者请添加您的粗略工作部分