definir une methode dans une methode redefinie
Bonjour,
j'aimerai savoir si c'est possible de faire une methode dans @Override
public void onClick(View v) {...}, car j'aimerai associer une liste d'items
à click de bouton( un bouton cliqué parmi 3 autres: petit, moyen, gros) avant de valider en definitive sur le bouton (OK).
merci de bien vouloir m'orienter si possible vers un tutoriel.
orientation de la methode anonyme
Citation:
Envoyé par
Hizin
Tu ne peux pas créer de méthodes dans une méthode en Java.
Par contre, tu peux sans souci créer une autre méthode dans la classe anonyme de ton Listener, la classe interne de ta classe englobante, ou la classe englobante tout court.
j'aimerai qu'on puisse m'orienter de la creation de la methode anonyme(clickChoix()) de mon Listerner avec ou sans les parametres. ceci me permettra de mieux reflechir pour le code.
Jaimerai avoir le bouton cliqué avant de pouvoir l'utiliser dans
@Override
public void onClick(View v) {
if (i == R.id.btnValider) {
//todo
startActivity(new Intent(choixClient.this, Panier.class));
}
merci de vos orientations
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| public class choixClient extends AppCompatActivity implements View.OnClickListener {
private Button mBtnPetit;
private Button mBtnMoyen;
private Button mBtnGros;
private Button mBtnValider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_client);
mBtnTresComplexe = (Button) findViewById(R.id.btnValider);
mBtnValider.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (i == R.id.btnValider) {
//todo
startActivity(new Intent(choixClient.this, Panier.class));
}
}
/**
* methode qui permet de retourner le bouton cliqué
* @return
*/
private int clickChoix() {
int idBouton = 0;
mBtnPetit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.btnPetit) {
//todo
}
}
});
mBtnMoyen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.btnMoyen) {
//todo
}
}
});
mBtnGros.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.btnGros) {
//todo
}
}
});
return idBouton
}
} |