大佬教程收集整理的这篇文章主要介绍了如何使用 kotlin 中使用的共享首选项以编程方式刷新活动?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我对 Kotlin 和 AndroID 还是个新手,正在开发一个使用共享首选项的项目。
我有多个活动,用户必须登录才能使用主活动的所有功能。
主活动有一个菜单抽屉,菜单项很少。第一个是将用户重定向到登录活动。其余菜单项在用户登录前会隐藏。
流程如下: 从 Main Activity 开始 -> 应用程序检查用户是否已登录 -> 如果没有,您必须登录 -> 转到登录活动 -> 登录 -> 然后返回主活动。
但是,主要活动根本不刷新。我的意思是,我什至不知道该怎么做。当我从登录活动返回时,我希望我的主要活动刷新。
到目前为止,它仅在我关闭应用程序并重新打开它时才有效。会话可能缓存在共享首选项中。
我尝试通过单击某些按钮来启动和完成 Activites(例如,当用户通过所有凭据时单击登录按钮后),但它不起作用。
以下代码在主活动开始时检查用户是否已登录
overrIDe fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceStatE)
setContentVIEw(R.layout.activity_main)
val menu: Menu = navVIEw.menu
val target2: MenuItem = menu.findItem(R.ID.miItem2)
val target3: MenuItem = menu.findItem(R.ID.miItem3)
//region user session
try{
if(!SharedPrefManager.geTinstance(this)!!.isLoggedIn()){
target2.isVisible = false
target3.isVisible = false
Toast.makeText(applicationContext,"nIE zalogowany",Toast.LENGTH_LONG).show()
}
else{
target2.isVisible = true
target3.isVisible = true
Toast.makeText(applicationContext,"zalogowany",Toast.LENGTH_LONG).show()
}
}catch (e: NullPointerException){
}
//endregion
还有函数 isLoggedIn():
fun isLoggedIn(): Boolean{
val sharedPreferences: SharedPreferences = mCtx.getSharedPreferences(SHARED_PREF_name,Context.MODE_PRIVATE)
if(sharedPreferences.getString(KEY_user_EMAIL,null) != null){
return true
}
return false
}
下面的代码将我带到登录活动
val btnLogInActivity : button = findVIEwByID(R.ID.logbutton)
btnLogInActivity.setonClickListener {
val intent = Intent(this,LoginActivity::class.java)
startActivity(intent)
}
这是登录活动中的代码(userLogin 函数在此上下文中并不重要):
buttonLogin.setonClickListener {
userLogin()
newMainActivity()
}
private fun newMainActivity(){
val intent = Intent(this,MainActivity::class.java)
startActivity(intent)
}
附言。如果您需要更多代码来解决问题,请告诉我
您只需在代码中添加 finish()
。使用以下代码更新您的方法:
btnLogInActivity.setOnClickListener {
val intent = Intent(this,LoginActivity::class.java)
startActivity(intent)
finish()
}
登录后:
private fun newMainActivity(){
val intent = Intent(this,MainActivity::class.java)
startActivity(intent)
finish()
}
以上是大佬教程为你收集整理的如何使用 kotlin 中使用的共享首选项以编程方式刷新活动?全部内容,希望文章能够帮你解决如何使用 kotlin 中使用的共享首选项以编程方式刷新活动?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。