Заголовок AmazingListView не получает события касания

Я добавляю заголовок в AmazingListView (используя последний код):

mAmazingListView.setPinnedHeaderView(headerView);

headerView содержит элементы, с которыми пользователь должен иметь возможность взаимодействовать, включая кнопку и HorizontalListView. Когда пользователь пытается коснуться кнопки или прокрутить HorizontalListView, кажется, что касания не достигают представления, поскольку элементы не реагируют.

Я попытался добавить headerView как простое завышенное представление:

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

а как фрагмент - путем размещения встраивания фрагмента в файл макета, раздувания этого файла и извлечения фрагмента по его тегу.

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

Ни в одном из этих случаев касания не регистрируются. Если я встрою фрагмент непосредственно в свое представление, он сможет получать события касания, поэтому я думаю, что встраивание представления в заголовок AmazingListView поглощает касания в нежелательном месте.

Вызов setFocusable(true) для headerView также не помог.


person Mark    schedule 21.05.2013    source источник


Ответы (1)


Боюсь, то, что вы пытаетесь сделать, невозможно с помощью AmazingListView. Если вы заглянете внутрь AmazingListView:

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

AmazingListView просто рисует заголовок, он не добавляется в иерархию как элемент. Поэтому он не будет получать касания, как ожидалось.

person aysonje    schedule 20.03.2014