2014-12-05 34 views
0

我有一個登錄活動,我可以提供用戶名和密碼。如果兩者都是true,那麼只是禁用按鈕並調用其他Activity(MainActivity)。Android:如何在其他Activity中啓用一個Activity的按鈕 - 不使用靜態?

如果我從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

使用一些意向性額外,這將解決您的問題。 – 2014-12-05 05:40:30

回答

0

無需靜態只是LoginActivity覆蓋的onResume(),如:

@Override 
protected void onResume() { 
    super.onResume(); 
    user_name.setText(""); 
    password.setText(""); 
    loginsubmit.setEnabled(true); 
} 
+0

我試過類似的解決方案,但沒有運氣。我將不勝感激,如果你可以看看並提供任何建議:http://stackoverflow.com/questions/40372223/android-how-do-i-setenabledtrue-on-a-cardview-in-onresume – AJW 2016-11-02 04:46:51

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); 

而下面的代碼添加到的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); 
相關問題