Невозможно получить текст из SearchView.SearchAutoComplete onCreateView во фрагменте - PullRequest
0 голосов
/ 06 ноября 2019

В методе onCreateView() моего FirstFragment у меня есть следующие элементы:

public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle bundle) {
    initSearchView();
    String selectedItem = search.getText().toString();
    Log.d(TAG, "onCreateView " + selectedItem); //Always empty
}

Как видите, я вызываю метод initSearchView(), который выглядит следующим образом:

private void initSearchView() {
    SearchView searchView = rootView.findViewById(R.id.search);
    search = searchView.findViewById(androidx.appcompat.R.id.search_src_text);
    search.setOnItemClickListener((adapterView, view, position, id) -> {
        Item Item = (Item) adapterView.getItemAtPosition(position);
        search.setText(item.getItemName()); //Set item name
        goToItemFragment(item.getItemName());
    });
}

Как видите, после выбора элемента я назначил имя этого элемента для объекта search. Это работает нормально, так как я вижу, что имя элемента помещено в search .

Вот метод, который я использую для перехода к SecondFragment:

private void goToISecondFragment(String itemName) {
    ActionFirstFragmentToSecondFragment action = actionFirstFragmentToSecondFragment();
    action.setItemName(itemName);
    Navigation.findNavController(rootView).navigate(action);
}

Проблема возникает, когда я возвращаюсь из SecondFragment в FirstFragment. Даже если я вижу выбранное имя элемента в поиске , когда начинается фрагмент, этот оператор журнала всегда пуст, то есть он не видит этот текст в поиске.

Какможно получить этот видимый текст из поиска, когда я вернусь из SecondFragment в FirstFragment? Спасибо

...