是否有必要在完成调用之前设置内容视图?
Is it necessary to setContentView before finish called?
如果来自 SharedPreferences 的 isLoggedIn 为真,我将我的应用程序发送到另一个 activity,但是当我重新启动我的应用程序时,它会转到主 activity 非常好但是当我按下后退按钮时它停止工作为什么?
SharedPreferences=getSharedPreferences(getString(R.string.Prefereces_file_name), Context.MODE_PRIVATE)
val isloggedIn=SharedPreferences.getBoolean("isLoggedIn",false)
if (isloggedIn){
val intent=Intent(this@LoginActivity,MainActivity::class.java)
startActivity(intent)
finish()
}else{
setContentView(R.layout.activity_login)
}
你可以在onCreate
中自由call finish()
而不调用一些额外的方法,例如:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //REQUIRED
val isloggedIn=SharedPreferences.getBoolean("isLoggedIn",false)
if (isloggedIn){
val intent=Intent(this@LoginActivity,MainActivity::class.java)
startActivity(intent)
finish()
}else{
setContentView(R.layout.activity_login)
}
}
并且当你调用 finish 时它不会停止执行该方法,所以确保 finish()
行下面没有任何内容。
并且你不应该调用 setContentView
如果你将在 onCreate 中调用 finish 到 save memory/speed.
我测试过这种方法,效果很好。
后退按钮点击:
override the onBackPressed()
method into your Activity like this way
public void onBackPressed(){
// do something here and don't write super.onBackPressed()
}
覆盖 onKeyDown() 方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_BACK:
// do something here
return true;
}
return super.onKeyDown(keyCode, event);
}
如果来自 SharedPreferences 的 isLoggedIn 为真,我将我的应用程序发送到另一个 activity,但是当我重新启动我的应用程序时,它会转到主 activity 非常好但是当我按下后退按钮时它停止工作为什么?
SharedPreferences=getSharedPreferences(getString(R.string.Prefereces_file_name), Context.MODE_PRIVATE)
val isloggedIn=SharedPreferences.getBoolean("isLoggedIn",false)
if (isloggedIn){
val intent=Intent(this@LoginActivity,MainActivity::class.java)
startActivity(intent)
finish()
}else{
setContentView(R.layout.activity_login)
}
你可以在onCreate
中自由call finish()
而不调用一些额外的方法,例如:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //REQUIRED
val isloggedIn=SharedPreferences.getBoolean("isLoggedIn",false)
if (isloggedIn){
val intent=Intent(this@LoginActivity,MainActivity::class.java)
startActivity(intent)
finish()
}else{
setContentView(R.layout.activity_login)
}
}
并且当你调用 finish 时它不会停止执行该方法,所以确保 finish()
行下面没有任何内容。
并且你不应该调用 setContentView
如果你将在 onCreate 中调用 finish 到 save memory/speed.
我测试过这种方法,效果很好。
后退按钮点击:
override the
onBackPressed()
method into your Activity like this way
public void onBackPressed(){
// do something here and don't write super.onBackPressed()
}
覆盖 onKeyDown() 方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_BACK:
// do something here
return true;
}
return super.onKeyDown(keyCode, event);
}