android - 将多个字符串传递给其他 Activity

标签 android android-activity

我有

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/

相关文章:

java - 我已将 Android API 更新为 23,并且在任何 xml 文件中都没有错误,但是当我尝试构建项目时,这显示 R 无法解析

java - Android用动态键名和值构造json

javascript - 我想使用此代码链接到另一个页面,并使用从当前页面获取的 id

android - 导入 play-services-contextmanager 时出现 Gradle 错误

java - 在 EditText 中输入内容进行操作

android - 在另一个 Activity 完成时调用方法

java - 检测 Activity 何时发生变化

android - 一个简单的客户端-服务器 - Android<>PC

Android:警报对话框和 fragment

android - 应用程序更新的推送通知