Android:如何在其他Activity中启用一个Activity的按钮 - 不使用静态?

时间:2014-12-05 05:38:02

标签: android

我有一个登录活动,我可以提供用户名和密码。如果两者都为真,则只是禁用该按钮并调用其他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);

        }

    }

这里使用静态。但我想这样做而不使用静态。有人可以给我一个想法吗?

2 个答案:

答案 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);
}