Мне нужно создать Two Activity один раз.один - логин, другой - компания.Обе данные активности хранятся в общем доступе.следовательно, когда смена компании, затем вновь открывается активность компании.
Я должен попробовать editer.clear, тогда обе операции отображаются, но мне нужно открыть только одну активность компании.Я должен также попробовать как editer.remove ("Компания"), то это не открытая деятельность компании.
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)
}
Тот же код в логине меняется только значение ключа.