使用简单登录示例。成功登录后,在Hello消息后显示用户的电子邮件。
我的问题是如何向Inner Activity
显示电子邮件代码是
LoginAcitvity
public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
final EditText email = (EditText) findViewById(R.id.emailText);
final EditText password = (EditText) findViewById(R.id.passwordText);
final Button loginButton = (Button) findViewById(R.id.loginButton);
loginButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (authenticate(email.getText().toString(), password.getText().toString())) {
Intent innerIntent = new Intent(LoginActivity.this,
InnerActivity.class);
startActivity(innerIntent);
} else {
// uname.setText("");
password.setText("");
}
}
});
}
private boolean authenticate(String email, String password) {
// Return random value. Later we will contact the server here
if(email.equals("foo@bar.123") && password.equals("hello")) {
return true;
}
if(email.equals("bar@foo.123") && password.equals("world")) {
return true;
}
return false;
}
}
InnerAcitvity
public class InnerActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inner);
}
}
答案 0 :(得分:3)
使用意图。 在LoginActivity的 loginButton.setOnClickListener中写下:
Intent innerIntent = new Intent(LoginActivity.this,InnerActivity.class);
innerIntent.putExtra("email",email.getText().toString());
startActivity(innerIntent);
和 InnerActivity.java
String email=getIntent().getExtras().getString("email");
txtView.setText(email);
答案 1 :(得分:1)
通过Intent To Innner活动发送电子邮件,如下所示。
Intent innerIntent = new Intent(LoginActivity.this,
InnerActivity.class);
intent.putExtra("EMAIL",email.getText().toString());
startActivity(innerIntent);
On Inner Activity获取Intent数据。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inner);
String email=getIntent().getExtras().getString("Email");
mTextview.setText(email);
}
答案 2 :(得分:0)
您可以在 LoginActivity 中添加公共静态,并从InnerActivity中调用它
public class LoginActivity extends AppCompatActivity {
public static String loginEmail = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
final EditText email = (EditText) findViewById(R.id.emailText);
final EditText password = (EditText) findViewById(R.id.passwordText);
final Button loginButton = (Button) findViewById(R.id.loginButton);
loginButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (authenticate(email.getText().toString(), password.getText()
.toString())) {
Intent innerIntent = new Intent(LoginActivity.this,
InnerActivity.class);
startActivity(innerIntent);
} else {
// uname.setText("");
password.setText("");
}
}
});
}
private boolean authenticate(String email, String password) {
// Return random value. Later we will contact the server here
if (email.equals("foo@bar.123") && password.equals("hello")) {
loginEmail = email;
return true;
}
if (email.equals("bar@foo.123") && password.equals("world")) {
loginEmail = email;
return true;
}
return false;
}
}
并将其称为 InnerActivity
String email = LoginActivity.loginEmail;