我必须一次创建两个活动。一个是登录名,另一个是公司。两个活动数据均存储在共享首选项中。因此,当“更改公司”时,“公司活动”将重新打开。
我必须尝试使用editer.clear,然后同时显示两个活动,但我只需要打开一个公司活动。我还必须尝试使用editer.remove(“ Company”),然后它无法打开“公司活动”。
Company.kt
fun oneTimeCompanyScreen(){
val preferences = getSharedPreferences(Constant.SHARED_PREF, Context.MODE_PRIVATE)
val firsTime = preferences.getBoolean("hasCompany", false)
if (firsTime) {
val i = Intent(this, Dashboard::class.java)
startActivity(i)
finish()
}
}
val pref = getApplicationContext().getSharedPreferences(Constant.SHARED_PREF, Context.MODE_PRIVATE)
val editor = pref.edit()
editor.putString("Company", companyName)
editor.putString("Year", accountYear)
editor.putInt("cid", this!!.CID!!)
editor.putInt("fid", this!!.fYID!!)
editor.putBoolean("hasCompany", true)
editor.commit()
val intent = Intent(this,Dashboard::class.java)
startActivity(intent)
Dashboard.kt
val preferences = getApplicationContext().getSharedPreferences(Constant.SHARED_PREF, Context.MODE_PRIVATE)
if (null != preferences) {
val companyName = preferences.getString("Company", "")
val accountYear = preferences.getString("Year", "")
cid = preferences.getInt("cid", 0)
fid = preferences.getInt("fid", 0)
}
fab_company.setOnClickListener {
val preferences = getSharedPreferences(Constant.SHARED_PREF, Context.MODE_PRIVATE)
val editor = preferences.edit()
editor.remove("Company")
editor.remove("Year")
//editor.commit()
//finish()
val intent = Intent(this,Company::class.java)
// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(intent)
}
仅登录键值中的相同代码已更改。