我点击搜索视图并输入要搜索的数据,显示结果,然后单击搜索结果转到详细信息片段,现在如果按下后退按钮则不起作用。我必须按两次后退按钮才能返回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()中弹出片段。
答案 0 :(得分:0)
如果您的.stream().collect(ImmutableMap.toImmutableMap(ConfigItem::getId, Function.identity()))
处于SearchView
州,则应按open
按钮back
返回twice
。
默认情况下,
ListFragment
会收到searchable activity
意图 调用ACTION_SEARCH
并调用onCreate()
的新实例 被带到activity
的顶部。现在有两个例子activity stack
中searchable activity
的{{1}}(按下activity stack
返回到Back button
的上一个instance
searchable
,而不是退出activity
)。
希望这会有所帮助〜