提问人:Jadu 提问时间:5/28/2023 最后编辑:Jadu 更新时间:6/11/2023 访问量:34
后退导航问题(导航图)问题 (android)
Back Navigation Issue (Nav Graph) Issue (android)
问:
我被困在这个后退导航按钮的问题中很长时间了,我尝试了不同的方法,但问题仍然没有解决
这是图像
这是我的问题
- 因此,我有一个主屏幕,我正在其中注册并登录用户
- 如果用户已经登录,我已将导航图设置为转到仪表板
- 现在,当人员被重定向时,主屏幕将显示后退按钮
- 我尝试了导航控制器,尝试更改起始目标 ID,但仍然一无所获 工作
以下是一些代码
在 SelectLanguageFragment 中定义
private fun checkUserExist(){
val currentUser = auth.currentUser
val navOptions: NavOptions = NavOptions.Builder()
.setPopUpTo(`in`.jadu.anjuconsumerapp.R.id.consumerHomeFragment, true)
.build()
if(currentUser != null){
findNavController().navigate(`in`.jadu.anjuconsumerapp.R.id.action_selectLanguageFragment_to_consumerHomeFragment)
}
}
尝试了navOptions,但没有工作
NavGraph代码
app:startDestination="@id/selectLanguageFragment"
<fragment
android:id="@+id/selectLanguageFragment"
android:name="in.jadu.anjuconsumerapp.consumer.commonuis.SelectLanguageFragment"
android:label="Select Language" >
<action
android:id="@+id/action_selectLanguageFragment_to_phoneVerificationFragment"
app:destination="@id/phoneVerificationFragment" />
<action
android:id="@+id/action_selectLanguageFragment_to_consumerHomeFragment"
app:destination="@id/consumerHomeFragment"
app:popUpTo="@id/selectLanguageFragment"
app:popUpToInclusive="true" />
</fragment>
我已经尝试过了,但我不需要这个,我只想从导航中删除它,getSupportActionBar().setDisplayHomeAsUpEnabled(false)
我想在用户登录时从主屏幕中删除此后退按钮
谢谢
答:
0赞
Jadu
6/11/2023
#1
所以在挣扎了很多之后,看了很多yt视频,github我终于从androidx文档 参考中得到了解决方案
因此,当我们设置导航时......
- 只有不会有后退箭头
Top Level Ids
- 因此,我们需要将仪表板片段定义为顶级或开始 ID(languagefragment 只是之前的开始)
法典
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
navController = navHostFragment.navController
val appBarConfiguration = AppBarConfiguration(
topLevelDestinationIds = setOf(R.id.selectLanguage,R.id.farmerDashboard),
fallbackOnNavigateUpListener = ::onSupportNavigateUp
)
setupActionBarWithNavController(navController,appBarConfiguration)
在这里,我已经将两个片段(selectLanguage,farmerDashboard)声明为顶级,这样我就不会在这些ID上获得后退按钮,其余的应用程序工作正常...
所以,这是一件简单的事情
希望这对您有所帮助:)
评论