Sending Multiple Intents from a Single Activity to Another Activity

后端 未结 3 1950
南笙
南笙 2021-01-14 14:11

I am very new to android, and I am trying to send user-inputted data (their names) to another activity. I have in the past been able to send single lines between activities

3条回答
  •  暖寄归人
    2021-01-14 14:34

    when i run this i get whatever has been put in for 'name2' in both TextView's

    This is because you are creating a new instance of the Activity with the second Intent. There are different ways you could do it. One would be create a single Intent as a member variable, instantiate it in your first function call, add extras, then add the other extra in the second method, and call startActivity there.

    But it would probably be easier and more readable to just do it all at the same time.

     public void sendNames() {
        //sends player1's name to mainGame
        Intent intent = new Intent (this, MainGame.class);
        EditText player1 = (EditText) findViewById(R.id.player1);
        String player1Name= player1.getText().toString();
        intent.putExtra("player1Name", player1Name);
        EditText player2 = (EditText) findViewById(R.id.player2);
        String player2Name= player2.getText().toString();
        intent2.putExtra("player2Name", player2Name);
        startActivity(intent);
    

    And just call this one method.

    Then get it with

    Intent intent = getIntent();
    String name1 = intent.getStringExtra("player1Name");
    TextView name1 = (TextView) findViewById(R.id.name1);
    name1.setText(message);
    
    String name1 = intent2.getStringExtra("player2Name");
    TextView name2 = (TextView) findViewById(R.id.name2);
    name2.setText(name1 ;
    

提交回复
热议问题