Android ListView如何获得点击不在项目上

问题描述:

我有一个带有填充顶部的列表视图。我需要检测何时点击顶部的空白空间。Android ListView如何获得点击不在项目上

我试过OnClickLister,但我不能在ListView上使用它。 OnItemClickListener仅在单击某行时才起作用。

+0

添加代码适配器 –

+0

创建一个像这里的标题并附加一个监听器:https://blograchita.wordpress.com/2013/05/18/listview-with-header-footer-view-android/ –

你可以什么也没有为头添加headerlistView并设置onClickListener

+0

你拯救了我的一天。谢谢一堆。 – masgar

您可以使用OnTouchListener并检查YMotionEvent的坐标小于你的填充:

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; 
     } 
    }); 

使用一个带有监听器而不是填充的空间。或者向父视图添加一个侦听器并查找该事件。