Android ListView如何获得点击不在项目上
问题描述:
我有一个带有填充顶部的列表视图。我需要检测何时点击顶部的空白空间。Android ListView如何获得点击不在项目上
我试过OnClickLister,但我不能在ListView上使用它。 OnItemClickListener仅在单击某行时才起作用。
答
您可以使用OnTouchListener
并检查Y
的MotionEvent
的坐标小于你的填充:
listView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_UP :
final int padding = getResources().getDimensionPixelSize(R.dimen.listView_padding);
if (motionEvent.getY() < padding) {
// do stuff here
return true;
}
break;
}
return false;
}
});
答
使用一个带有监听器而不是填充的空间。或者向父视图添加一个侦听器并查找该事件。
添加代码适配器 –
创建一个像这里的标题并附加一个监听器:https://blograchita.wordpress.com/2013/05/18/listview-with-header-footer-view-android/ –