【问题标题】:Header of AmazingListView not getting touch eventsAmazingListView 的标题没有收到触摸事件
【发布时间】:2013-05-21 18:25:43
【问题描述】:

我正在向 AmazingListView 添加标题(使用 latest code):

mAmazingListView.setPinnedHeaderView(headerView);

headerView 包含用户应该能够与之交互的元素,包括按钮和 Horizo​​ntalListView。当用户尝试触摸按钮或滚动 Horizo​​ntalListView 时,触摸似乎不会到达视图,因为元素没有响应。

我尝试将 headerView 添加为简单的膨胀视图:

 View headerView = mInflater.inflate(R.layout.header_view, mAmazingListView, false);

并作为片段 - 通过将嵌入片段放置在布局文件中,扩展该文件,并通过其标签获取片段。

 headerView = mInflater.inflate(R.layout.header_fragment_wrapper, mAmazingListView, false);

在这两种情况下,触摸都不会被注册。如果我将片段直接嵌入到我的视图中,它能够接收触摸事件,所以我认为将视图嵌入到 AmazingListView 的标题中正在吸收非所需位置的触摸。

在 headerView 上调用 setFocusable(true) 也没有帮助。

【问题讨论】:

    标签: android listview touch-event


    【解决方案1】:

    恐怕您尝试使用AmazingListView 无法实现。如果你往里看AmazingListView

    @Override
    protected void dispatchDraw(Canvas canvas) {
        super.dispatchDraw(canvas);
        if (mHeaderViewVisible) {
            drawChild(canvas, mHeaderView, getDrawingTime());
        }
    }
    

    AmazingListView 只是绘制标题,它不会作为元素添加到层次结构中。因此,它不会像预期的那样接收触摸。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多