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 に答える