我有
EditText editTextSignUpUserName = (EditText) findViewById(R.id.sign_up_user_name);
EditText editTextSignUpPassword = (EditText) findViewById(R.id.sign_up_password);
EditText editTextSignUpEmailAddress = (EditText) findViewById(R.id.sign_up_email_address);
和
String messageUserName = intent.getStringExtra(SignUp.EXTRA_MESSAGE);
String messagePassword = intent.getStringExtra(SignUp.EXTRA_MESSAGE);
String messageEmailAddress = intent.getStringExtra(SignUp.EXTRA_MESSAGE);
当然所有三个字符串都显示为 messageEmailAddress。
我如何将每个字符串分别传递给下一个 Activity (并因此传递给数据库)? 请,谢谢。
最佳答案
可以有多种方法。
- 使用 Intent
在您的 Activity 中,创建一个 Intent:
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("password",editTextSignUpPassword.getText().toString());
i.putExtra("username",editTextSignUpUserName.getText().toString());
startActivity(i);
然后在另一个 Activity 中,您可以获得这些值,例如:
Bundle extras = getIntent().getExtras();
if (extras != null) {
String messageUserName = extras.getString("username");
String messagePassword = extras.getString("password");
}
您可以将它们声明为
static
变量,然后在您的其他类中您可以像Activity1.messageUserName
一样访问它们,Actvity1.messagePassword
然后将它们插入数据库或做任何你想做的事情。公共(public)静态字符串消息密码; public static String messageUserName;
messagePassword = editTextSignUpPassword.getText().toString();
然后,在所有其他 Activity 中,您可以使用 YourMainActivty.messagePassword
访问它们。
*编辑:* 代码的实现:
EditText editTextSignUpUserName;
EditText editTextSignUpPassword;
@Override
public void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.sign_up);
editTextSignUpUserName = (EditText) findViewById(R.id.sign_up_user_name);
editTextSignUpPassword = (EditText)findViewById(R.id.sign_up_password);
}
public void onClickSignUp(View view)
{ Intent intent = new Intent(this, SignIn.class);
String signUpUserName = editTextSignUpUserName.getText().toString();
String signUpPassword = editTextSignUpPassword.getText().toString();
intent.putExtra("username", signUpUserName);
intent.putExtra("password", signUpPassword);
startActivity(intent);
}
然后在SignIn.class
中,
Bundle extras = getIntent().getExtras();
if (extras != null) {
String messageUserName = extras.getString("username");
String messagePassword = extras.getString("password");
}
关于android - 将多个字符串传递给其他 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12240687/