在我的应用中,我正在使用Android Navigation Component。 我的MainActivity有一个NavigationGraph,我可以正确导航。由于还需要实现搜索功能,因此我在SearchFragment中添加了SearchActivity。搜索显示带有结果集的RecyclerView。当我单击这些结果之一时,我想导航到MainActivity的特定片段。
不幸的是,该应用程序只是导航到MainActivity的第一个片段。如何导航到另一个活动的片段?
我以此导航到MainActivity的片段
Bundle bundle = new Bundle();
bundle.putInt(SessionFragment.ARG_PARAM1, mSessions.get(position).session.getId());
navController.navigate(R.id.sessionFragment, bundle);
有什么想法吗?
答案 0 :(得分:0)
我最终将MainActivity配置为SearchableActivity,并将SearchQuery传递给SearchFragment。
AndroidManifest:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
然后在MainActivity上检查SearchIntent并使用Query as Argument进行导航:
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
NavDirections action = HomeFragmentDirections.showSearch(
intent.getStringExtra(SearchManager.QUERY)
);
navController.navigate(action);
}
在我的SearchFragment中,我按照Google文档所述处理搜索。 这可能不是最佳解决方案,但可以。