2017-04-01 61 views
1

看到,我有2类可以说登录类和欢迎类,在登录类我有全球变量String Email;OnCreate()。我在该方法中为Email设置了值,现在我的问题是如何获取从方法初始化的那个变量的值?Android:我如何从一个类的方法访问值?

public class LoginActivity extends AppCompatActivity { 
private EditText email,password; 

public String emailText; 

protected void onCreate(final Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 

     email = (EditText) findViewById(R.id.email); 
     //I want to get this value 
     emailText = email.getText().toString(); 
} 
} 

,我的另一个类是

public class Welcome extends Activity{ 
protected void onCreate(Bundle savedInstanceState) { 
    TextView textView = (TextView) findViewById(R.id.email); 
    //this is what I did which is the variable that was unInitialized 
    LoginActivity loginActivity = new LoginActivity(); 
     textView.setText(loginActivity.getEmailText()); 
} 
} 

回答

1

你必须开始与一些额外的欢迎活动:

Intent startWelcomeActivityIntent = new Intent(context, Welcome.class); 
    startWelcomeActivityIntent.putExtra("keyForUsername", userNameString); 
    startWelcomeActivityIntent.putExtra("keyForPassword", passwordString); 
    startActivity(startWelcomeActivityIntent); 

然后检索欢迎活动onCreate方法这个演员:

protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Intent intentWithData = getIntent(); 
    String userNameFromLoginActivity = intentWithData.getStringExtra("keyForUsername"); 
    String passwordFromLoginActivity = intentWithData.getStringExtra("keyForPassword"); 
} 
+0

哦,这似乎是上班,谢谢!我也想知道如果我应该如何在片段中做到这一点。是他们的任何Java方法,我可以从方法变量? – ProblematicSolution

+1

你必须通过参数设置额外值,这里是一个很好的[示例](http://stackoverflow.com/a/17436739/5281581)如何将变量从活动传递给片段。 –