J'ai deux objets EditText dans ma première activité. je veux leurs deux valeurs lorsque je passe à l'activité suivante. Supposons que les objets EditText sont inp1, inp2 et qu'ils ne peuvent accepter que des nombres. Veuillez mentionner comment je peux ajouter leurs valeurs à l'objet int Intent et comment je vais extraire leurs valeurs dans le fichier .java de ma prochaine activité.

2
Diptangsu Goswami 5 janv. 2016 à 12:03

3 réponses

Meilleure réponse

Voilà, votre code ressemblera à,

Côté expéditeur:

Intent myIntent = new Intent(A.this, B.class);
myIntent.putExtra("intVariableName1", intValue1);
myIntent.putExtra("intVariableName2", intValue2);
startActivity(myIntent);

Côté récepteur:

 Intent mIntent = getIntent();
 int intValue1 = mIntent.getIntExtra("intVariableName1", 0);
 int intValue2 = mIntent.getIntExtra("intVariableName2", 0);

J'espère que cela aide.

1
Let'sRefactor 5 janv. 2016 à 09:07

Utilisez ce code

Intent intent = new Intent(first.this, Second.class);
Bundle extras = new Bundle();
extras.putString("value1",String.valueof(inp1.getText().toString()));
extras.putString("value2",String.valueof(inp2.getText().toString()));
intent.putExtras(extras);
startActivity(intent);

Puis dans votre deuxième activité onCreate ()

Intent intent = getIntent();
Bundle extras = intent.getExtras();
String value1 = extras.getString("value1");
String value2 = extras.getString("value2");
0
sasikumar 5 janv. 2016 à 09:08

Pour rendre les choses plus faciles et réutilisables, vous pouvez créer votre propre intention comme celle-ci

public class MyIntent extent Intent{
    private static final String FIRST_VALUE;
    private static final String SECOND_VALUE;

    public MyIntent(Context context, String firstValue, String secondValue){
        super(context,MySecondActivity.class);
        putExtra(FIRST_VALUE, firstValue);
        putExtra(SECOND_VALUE, secondValue);
    }

    public String getFirstValue(){
        getStringExtra(FIRST_VALUE);
    }

    public String getSecondValue(){
        getStringExtra(SECOND_VALUE);
    }
}

Expéditrice:

startActivity(new MyIntent(this,"FirstString", "SecondString"));

Côté récepteur:

MyIntent myIntent = (MyIntent)getIntent();
String firstValue  = myIntent.getFirstValue();
String secondValue = myIntent.getSecondValue();
0
Let'sRefactor 16 févr. 2016 à 11:29