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

Signaler
-
Twinuts
Messages postés
5345
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 février 2020
-
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

1 réponse

Messages postés
5345
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 février 2020
90
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
5345
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 février 2020
90
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());
  }
}