Родительская и 2-х градусная связь внутренних фрагментов - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть следующая структура во фрагменте.

Structure

У меня также есть этот код для изменения фрагментов.

   search_box.setOnSearchClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            changeFragment(new SearchAFragment());
        }
    });

    search_box.setOnCloseListener(new SearchView.OnCloseListener() {
        @Override
        public boolean onClose() {
            changeFragment(new SearchBFragment());
            return false;
        }
    });

Как вы видите, в соответствии с состоянием просмотра поиска, фрагментыизменения.Когда вид поиска не сфокусирован, пустой фрагмент отображается в структуре кадра (форма 1).После включения поискового просмотра, видовой экран с вкладками, показанными в структуре кадра (форма 2).Мне нужно использовать onTextChangedListener для searchview во фрагментах viewpager.

Я использую их вот так;

((android.support.v7.widget.SearchView) getParentFragment().getView().findViewById(R.id.search_box)).setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(final String newText) {
            return false;
        }
    });

Я поместил приведенный выше код в оба фрагмента в окне просмотра, и он работает только для второго фрагмента в окне просмотра.Я предполагаю, что слушатель во втором фрагменте переопределяет первый в первом фрагменте viewpager.

Таким образом, в результате во фрагментах viewpager выполняется операция заполнения представления переработчика, и текст помещается ввид поиска во внешнем фрагменте в форме 1. Как я могу решить эту проблему прослушивания?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...