我有一个登录活动,我可以提供用户名和密码。如果两者都为真,则只是禁用该按钮并调用其他Activity(MainActivity)。
如果我从MainActivity按回来,那么我想在LoginActivity中设置启用提交按钮,并将用户名和密码设置为空。
这是我的代码。
private Boolean exit = false;
@Override
public void onBackPressed() {
if (exit)
{
}
else {
MainActivity.this.finish();
Toast.makeText(this, "Press Back again to Exit.",
Toast.LENGTH_SHORT).show();
exit = true;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
exit = false;
LoginActivity.user_name.setText("");
LoginActivity.password.setText("");
LoginActivity.loginsubmit.setEnabled(true);
}
}, 100);
}
}
这里使用静态。但我想这样做而不使用静态。有人可以给我一个想法吗?
答案 0 :(得分:1)
将以下代码添加到MainActivity的onBackPressed(),
Intent loginIntent= new Intent(MainActivity.this,LoginActivity.class);
loginIntent.putExtra("username", "");
loginIntent.putExtra("password", "");
loginIntent.putExtra("isSubmitEnabled", true);
loginIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(loginIntent);
并将以下代码添加到LoginActivity的onCreate(),
Intent intent = getIntent();
if (intent != null) {
String username = intent.getStringExtra("username");
String password = intent.getStringExtra("password");
boolean isSubmitEnabled = intent.getBooleanExtra("isSubmitEnabled",
false);
}
使用上面的用户名,密码和isSubmitEnabled标志,您可以实现所需的。
您可以使用以下代码,
user_name.setText(username);
password.setText(password);
loginsubmit.setEnabled(isSubmitEnabled );
答案 1 :(得分:0)
不需要静态只需覆盖LoginActivity中的onResume(),如:
@Override
protected void onResume() {
super.onResume();
user_name.setText("");
password.setText("");
loginsubmit.setEnabled(true);
}