Problème de transmission de données entre deux Activity
Résolu
YameFAZE
Messages postés
179
Date d'inscription
Statut
Membre
Dernière intervention
-
YameFAZE Messages postés 179 Date d'inscription Statut Membre Dernière intervention -
YameFAZE Messages postés 179 Date d'inscription Statut Membre Dernière intervention -
Bonjour amis développeurs,
J'ai un soucis de transmission de données entre deux Activity. Des chaînes de caractères entrées par l'utilisateur dans des champs et envoyées à l'aide d'un bouton. Ci-dessous les codes sources de mes deux Activity.
Visiblement il y a un soucis avec EXTRA_LOGIN et EXTRA_PASSWORD. Ci-dessous le message d'erreur d'Android Studio.
Si quelqu'un pouvait me filer un petit coup de main.
J'ai un soucis de transmission de données entre deux Activity. Des chaînes de caractères entrées par l'utilisateur dans des champs et envoyées à l'aide d'un bouton. Ci-dessous les codes sources de mes deux Activity.
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class Index extends AppCompatActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
final EditText login = (EditText) findViewById(R.id.user_email);
final EditText pass = (EditText) findViewById(R.id.user_password);
final Button loginButton = (Button) findViewById(R.id.connect);
loginButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(Index.this, Activity_Login_Verif.class);
intent.putExtra(EXTRA_LOGIN, login.getText().toString());
intent.putExtra(EXTRA_PASSWORD, pass.getText().toString());
startActivity(intent);
}
});
}
}
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class Activity_Login_Verif extends AppCompatActivity
{
final String EXTRA_LOGIN = "user_login";
final String EXTRA_PASSWORD = "user_password";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.login_verif);
Intent intent = getIntent();
TextView loginDisplay = (TextView) findViewById(R.id.email_display);
TextView passwordDisplay = (TextView) findViewById(R.id.password_display);
if (intent != null)
{
loginDisplay.setText(intent.getStringExtra(EXTRA_LOGIN));
passwordDisplay.setText(intent.getStringExtra(EXTRA_PASSWORD));
}
}
}
Visiblement il y a un soucis avec EXTRA_LOGIN et EXTRA_PASSWORD. Ci-dessous le message d'erreur d'Android Studio.
Error:(45, 33) error: cannot find symbol variable EXTRA_LOGIN
Error:(48, 33) error: cannot find symbol variable EXTRA_PASSWORD
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
Information:Total time: 15.348 secs
Information:3 errors
Information:0 warnings
Information:See complete output in console
Si quelqu'un pouvait me filer un petit coup de main.
6 réponses
-
'lut,
EXTRA_LOGIN
etEXTRA_PASSWORD
étant des constantes deActivity_Login_Verif
, quand tu écrits du code autre part que dans cette classe, il faut référencer ces constantes avec le nom de classe devant:intent.putExtra(Activity_Login_Verif.EXTRA_LOGIN, login.getText().toString()); intent.putExtra(Activity_Login_Verif.EXTRA_PASSWORD, pass.getText().toString());
-
Merci pour ta réponse. J'ai fait la modif mais ça ne fonctionne toujours pas. Les deux constantes sont toujours en rouge... Android Studio indique qu'il ne s'agit pas d'un Static Field et que donc il ne peut pas le référencer dans un Static Context (si j'ai bien compris).
-
Il faut les déclarer en
static
.
public static final String EXTRA_LOGIN = "user_login"; -
Ok, merci, mais où faut-il les déclarer stp ? J'ai essayé un peu partout mais je n'arrive pas à résoudre le problème...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci bien, je n'ai plus d'erreur dans Android Studio, sauf que lorsque je teste l'appli elle plante au clique du bouton...
-
Ah... quel couillon. J'avais seulement oublié de déclarer ma seconde activité dans le manifest. Problème résolut. Tout fonctionne. Merci beaucoup. Me reste plus qu'à passer aux sessions avec base de données maintenant...