Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓避免后退按钮_Android_Kotlin - Fatal编程技术网

Android 安卓避免后退按钮

Android 安卓避免后退按钮,android,kotlin,Android,Kotlin,我正在将用户从LoginActivity重定向到login,将片段注册到MainActivity,但按下后退按钮时,我无法阻止MainActivity退回到这些片段 代码 class LoginFragment:Fragment(),View.OnClickListener{ lateinit var navController:navController 覆盖创建视图( 充气器:布局充气器,容器:视图组?, savedInstanceState:捆绑? ):查看{ ... 登录() ....

我正在将用户从
LoginActivity
重定向到
login,将
片段注册到
MainActivity
,但按下后退按钮时,我无法阻止
MainActivity
退回到这些片段

代码
class LoginFragment:Fragment(),View.OnClickListener{
lateinit var navController:navController
覆盖创建视图(
充气器:布局充气器,容器:视图组?,
savedInstanceState:捆绑?
):查看{
...
登录()
....
}
私人娱乐登录(电子邮件:String,密码:String){
val queue=Volley.newRequestQueue(上下文)
val url=“…”
val stringReq:StringRequest=
对象:StringRequest(
方法.POST,url,
Response.Listener{Response->
val intent=intent(上下文,MainActivity::class.java)
星触觉(意图)
完成()
},
Response.ErrorListener{error->
Log.d(“eee”,error.toString())
}
)
}
queue.add(stringReq)
}
覆盖已创建的视图(视图:视图,保存状态:捆绑?){
super.onViewCreated(视图,savedInstanceState)
navController=Navigation.findNavController(视图)
view.findviewbyd(R.id.registerBtn).setOnClickListener(this)
}
覆盖有趣的onClick(v:视图?){
当(v!!.id){
R.id.registerBtn->{
导航(R.id.action\u loginFragment\u到\u registerFragment)
}
}
}
}
注意在我的请求成功返回中,我正在将用户重定向到
main活动
,并且我添加了
finish()
,但它是红色的!显然,
finish()
只在Java上工作,我不确定在
kotlin中哪个函数做同样的工作

有什么想法吗?
finish()
是一种活动的方法,而不是片段的方法。因此,您将看到红色的finish,因为它对于片段是未解析的

但也可以从片段中调用宿主活动的finsih方法

activity?.finish()

这将完成托管活动。

finish()仅在Java上工作
错误,您无法完成片段。@a\u local\u没人知道,谢谢。现在你对我的问题有什么建议?\n你可以使用意图标志,perhaps@a_local_nobody请告诉我你的方式比我的好多少,因为稍后我需要
MainActivity
中的后退按钮,因为它是自己的片段(不确定我的方式是最好的)。老实说,我不太确定你想要实现什么。。您是否试图一次只激活一个活动?
activity?.finish()