1

我正在向 AmazingListView 添加标题(使用最新代码):

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) 也没有帮助。

4

1 回答 1

0

恐怕您无法使用AmazingListView. 如果你看里面AmazingListView

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

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

于 2014-03-20T05:49:43.123 回答