Как фрагменты обрабатывают штрихи?
Я играю с android Fragments
, и я нашел то, что не имело для меня большого смысла.
Я использую пакет совместимости и тестирование на одном из них с 2.3.3, так как у меня еще нет motorola xoom.
Моя проблема:
Когда я заменяю fragment
на другой, тот, который сзади, продолжает получать штрихи.
Здесь код для воспроизведения.
У меня есть список элементов, и когда вы нажимаете строку, будет создан и показан новый фрагмент.
НО, если вы коснетесь зеленого фрагмента, он будет принят ListFragment
, увеличив количество кнопок назад, которые я должен сделать, чтобы вернуться к ListFragment
.
Может кто-нибудь объяснить, почему?
EDIT:
Как было предложено CommonsWare, я удалил введенный здесь код, так как я открыл его как issue в трекере по проблеме android, и вы можете скачать демонстрационный проект оттуда.
Ответы
Ответ 1
У меня была аналогичная проблема. У меня есть фрагмент меньшего размера поверх более крупного фрагмента, где вы можете увидеть более крупный фрагмент, торчащий из меньшего. В некоторых случаях, когда я нажимаю фрагмент сверху, он запускает обработчик события onClick фрагмента внизу.
Чтобы этого не произошло, я установил onClickListener в родительский макет меньшего фрагмента. Делая это, он предотвращает передачу события onClick фрагменту за ним.
LinearLayout ll= (LinearLayout) mView.findViewById(R.id.topLayout);
ll.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//left empty on purpose to capture the onClick event.
}
});