搜索视图打开时未调用onBackPressed

时间:2017-04-19 10:19:08

标签: android android-layout android-fragments

我点击搜索视图并输入要搜索的数据,显示结果,然后单击搜索结果转到详细信息片段,现在如果按下后退按钮则不起作用。我必须按两次后退按钮才能返回ListFragment。但是按下按钮时它工作正常。 这可能是什么原因?

修改1:(添加代码段)

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
            menu.clear();
            inflater.inflate(R.menu.defect_search, menu);
            mIsMenuInflated = true;
            mSearchItem = menu.findItem(R.id.action_search);
            mSearchView = (SearchView) MenuItemCompat.getActionView(mSearchItem);
            mSearchView.setQueryHint(getString(R.string.search_defect_hint));
            mSearchView.setOnQueryTextListener(this);
            mSearchView.setOnQueryTextFocusChangeListener(this);

            super.onCreateOptionsMenu(menu, inflater);
    }


public void onClickDefect(Integer defectId) {
        hideKeyboard(mActivity);
        getActivity().getSupportFragmentManager()
                .beginTransaction()
                .add(R.id.frame_content, DefectTabFragment.newInstance(defectId))
                .addToBackStack(null)
                .commit();
    }

在Activity的onBackPressed()中弹出片段。

1 个答案:

答案 0 :(得分:0)

如果您的.stream().collect(ImmutableMap.toImmutableMap(ConfigItem::getId, Function.identity()))处于SearchView州,则应按open按钮back返回twice

来自Documentation

  

默认情况下,ListFragment会收到searchable activity意图   调用ACTION_SEARCH并调用onCreate()的新实例   被带到activity的顶部。现在有两个例子   activity stacksearchable activity的{​​{1}}(按下   activity stack返回到Back button的上一个instance   searchable,而不是退出activity)。

希望这会有所帮助〜