Физическая кнопка «Назад» на Android не реагирует при переходе из выбранного элемента списка - PullRequest
0 голосов
/ 08 ноября 2018

Мое приложение имеет довольно много отдельных пар «активность / фрагмент», и для большей части навигации использует универсальную кнопку «Назад» на Android. Эта кнопка работает нормально, за исключением того, что я пытаюсь вернуться из операции DetailView обратно в список результатов поиска. Вот как выглядит код результатов поиска:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saveInstanceState) {

View v = inflater.inflate(R.layout.results_fragment, container, false);

ListView lv;
lv = (ListView)v.findViewById(R.id.listViewResults);
lv.setAdapter(SearchResultsAdapter);
lv.setEmptyView(v.findViewById(R.id.emptyElement));
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
        ItemType selectedItem;
        selectedItem = (ItemType)adapter.getItemAtPosition(position);
        Intent i = new Intent(getActivity(), DetailViewActivity.class);
        i.putExtra(DetailViewFragment.RESULT_ID, resultIdNumber);
        startActivity(i);
    }
});

// ... some other stuff

   return v;
}

DetailView - это просто набор изображений и текста.

Поиск возвращает ожидаемые результаты, и при выборе элемента отображается правильный DetailViewFragment .

Кажется, это очень типичная архитектура, поэтому я не уверен, почему переход к странице результатов должен быть таким проблематичным. Я попытался установить точки останова, чтобы определить, перезапускается ли когда-либо активность результатов, но, очевидно, это не так.

1 Ответ

0 голосов
/ 08 ноября 2018

Если вы хотите что-то сделать, когда нажата кнопка «Назад», вы должны переопределить это:

@Override
public void onBackPressed()
{
     // code here 
    finish(); // to end activity: 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...