Passage d'une activité à l'autre au clique d'un bouton
Résolu
YameFAZE
Messages postés
201
Date d'inscription
Statut
Membre
Dernière intervention
-
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai un souci, j'ai créé deux activités avec un bouton qui permet de passer d'une à l'autre, il s'agit d'une page de login avec quelques vérifications d'usage qui mène à une page de confirmation au clique du bouton de connexion. Mais lorsque je clique sur le bouton de connexion l'appli plante. Je n'arrive pas à déterminer d'où vient le problème. Pourtant il n'y a pas d'erreur affichée dans Android Studio et mes deux activités sont bien déclarées dans le manifest. Peut-être un problème au niveau de l'ordre des instructions... ci-dessous les codes de mes deux activités.
J'ai un souci, j'ai créé deux activités avec un bouton qui permet de passer d'une à l'autre, il s'agit d'une page de login avec quelques vérifications d'usage qui mène à une page de confirmation au clique du bouton de connexion. Mais lorsque je clique sur le bouton de connexion l'appli plante. Je n'arrive pas à déterminer d'où vient le problème. Pourtant il n'y a pas d'erreur affichée dans Android Studio et mes deux activités sont bien déclarées dans le manifest. Peut-être un problème au niveau de l'ordre des instructions... ci-dessous les codes de mes deux activités.
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;
import android.widget.Toast;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Index extends AppCompatActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.index_activity);
final EditText emailUtilisateur = (EditText) findViewById(R.id.email_utilisateur);
final EditText passwordUtilisateur = (EditText) findViewById(R.id.password_utilisateur);
final Button loginButton = (Button) findViewById(R.id.bouton_connexion);
loginButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
final String loginTxt = emailUtilisateur.getText().toString();
final String passTxt = passwordUtilisateur.getText().toString();
Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
Matcher m = p.matcher(loginTxt);
if (!m.matches())
{
Toast.makeText(Index.this, R.string.erreur_format_email, Toast.LENGTH_SHORT).show();
return;
}
if (loginTxt.equals("") || passTxt.equals(""))
{
Toast.makeText(Index.this, R.string.email_ou_password_vide, Toast.LENGTH_SHORT).show();
return;
}
Intent lien_Index_vers_Start = new Intent(Index.this, Start.class);
lien_Index_vers_Start.putExtra(Start.package_emailUtilisateur, emailUtilisateur.getText().toString());
lien_Index_vers_Start.putExtra(Start.package_passwordUtilisateur, passwordUtilisateur.getText().toString());
startActivity(lien_Index_vers_Start);
}
});
}
}
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class Start extends AppCompatActivity
{
public static final String package_emailUtilisateur = "email_utilisateur";
public static final String package_passwordUtilisateur = "password_utilisateur";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.start_activity);
Intent lien_Index_vers_Start = getIntent();
TextView affichage_emailUtilisateur = (TextView) findViewById(R.id.vue_email_utilisateur);
TextView affichage_passwordUtilisateur = (TextView) findViewById(R.id.vue_password_utilisateur);
if (lien_Index_vers_Start != null)
{
affichage_emailUtilisateur.setText(lien_Index_vers_Start.getStringExtra(package_emailUtilisateur));
affichage_passwordUtilisateur.setText(lien_Index_vers_Start.getStringExtra(package_passwordUtilisateur));
}
}
}
A voir également:
- Passage d'une activité à l'autre au clique d'un bouton
- Activité instagram - Guide
- Passage qwerty azerty - Guide
- Comment faire une capture d'écran sur un samsung sans bouton ? - Guide
- Bouton reinitialisation pc - Guide
- Diagnostic bouton photo - Accueil - Outils
2 réponses
Hello,
Tu as forcément une erreur remontée dans la console en rouge...
As-tu essayé en debug pas-à-pas? Tu as beaucoup d'instructions qui peuvent mener à un crash. Par exemple, que ce passe-t-il quand le champ emailUtilisateur est vide?
Tu as forcément une erreur remontée dans la console en rouge...
As-tu essayé en debug pas-à-pas? Tu as beaucoup d'instructions qui peuvent mener à un crash. Par exemple, que ce passe-t-il quand le champ emailUtilisateur est vide?
Petite remarque en passant.
Pour alléger l'écriture, et éviter les findViewById(), tu peux utiliser ButterKnife
Pour alléger l'écriture, et éviter les findViewById(), tu peux utiliser ButterKnife
Non, aucune erreur remontée dans la console. Lorsque le champs emailUtilisateur est vide le toast erreur_format_email s'affiche. Lorsque le champs passwordUtilisateur est vide le toast email_ou_password_vide s'affiche. C'est lorsque les deux champs sont correctement remplis et que je clique sur le bouton connexion que l'appli crash.