我有
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。
如何将每个字符串分别传递给下一个活动(以及数据库)? 拜托,谢谢。
答案 0 :(得分:3)
有多种方法可以做到。
在您的活动中,创建一个意图:
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 static String messagePassword; public static String messageUserName;
messagePassword = editTextSignUpPassword.getText()。toString();
然后,在所有其他活动中,您可以 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");
}
答案 1 :(得分:0)
最好的方法是将这些值通过意图传递给下一个活动, 您可以通过单击按钮或转移到下一个活动的事件来执行此操作,
String username = sign_up_user_name.getText().toString();
String password = editTextSignUpPassword.getText().toString();
String email = editTextSignUpEmailAddress.getText().toString();
Intent i = new Intent(getApplicationContext(), NextActivity.class);
i.putExtra("username",username);
i.putExtra("password",password);
i.putExtra("email",email);
this.getContext.startActivity(i);
然后在nextActivity
String username = this.getIntent.getStringExtra("username");
String password = this.getIntent.getStringExtra("password");
String email = this.getIntent.getStringExtra("email");