Variable public dans onCreate(Bundle savedInstanceState){} [Résolu]

- - Dernière réponse : Twinuts
Messages postés
5341
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
- 12 déc. 2018 à 13:10
Bonjour,
Est-il possible de créer une variable public dans < protected void onCreate(Bundle savedInstanceState) ?
Si oui, comment faire cela ?
Je veux l'utiliser à l'extérieur de cette méthode ?
J'utilise Android studio.

Merci
Afficher la suite 

1 réponse

Messages postés
5341
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
89
0
Merci
Salut,

J'ai pas bien compris ton problème...
Mais si tu veux juste utiliser dans ta classe une variable affectée dans onCreate, c'est possible.
public class Test {
  private UnType mUneVariableGlobale;

  protected void onCreate(Bundle savedInstanceState) {
    mUneVariableGlobale = UnInitialitation.
  }

  /* public/private/protected ça dépend juste de ce que tu veux en faire. */
  public void foo1() {
    // utilisation de mUneVariableGlobale
  }

  /* public/private/protected ça dépend juste de ce que tu veux en faire. */
  public UnType getUnType() {
    return mUneVariableGlobale;
  }
}

Bonjour Twinuts,
C'est cela que je désire faire. Accéder à une variable qui est à l'intérieur de onCreate() depuis l'extérieur.

Grand. Merci. Ça marche bien
Bonjour Twinus,
J'ai essayé le code, mais, protected void onCreate(Bundle savedInstanceState) {} ne reçoit toujours pas un(variable, ...) public. Ca colore tout en rouge.

Voici en bref ce que je veux :
public String mEmail, monEmail;
 protected void onCreate(Bundle savedInstanceState) {
        mEmail = "***@***";
}
id_Email=(EditText)findViewById(R.id.idEmail);
id_Email.setText(mEmail );
monEmail = id_Email.getText().toString();


C'est ce que je dédire faire. Quand je reçois la < monEmail >, je vois que ça retourne une valeur NULL. C'est comme ça me retourne < public String mEmail; > alors que moi je veux que ça me retourne < monEmail >.
Comment faire s'il vous plaît ?
Twinuts
Messages postés
5341
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
89 -
Salut,

Aïe, tu as mit ton code en dehors d'une méthode et ce n'est pas autorisé en Java.
...
private EditText mIdEmail;

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.ton_activity);
  ...
  String email = "***@***";
  mIdEmail = (EditText)findViewById(R.id.idEmail);
  mIdEmail.setText(email );
  ...
}

/* exemple de récupération du texte sur un clic de bouton */
public void onClick(View v) {
  if(v.getId() == R.id.un_bouton) {
    Log.d("TAG", "Email = " + mIdEmail.getText().tiString());
  }
}

Commenter la réponse de Twinuts