Simplifier les Event listener
Salut à tous,
Je débute avec android et enchaine donc les tutos. Je me suis donc atteler à une simple calculatrice.
Je suis étonnament surpris par la lourdeur de la gestion des événements , du coup je me dis que j'ai peut être raté quelques subtilité.
Voici ce que je fait :
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
| public void onClick(View v)
{
switch(v.getId())
{
case R.id.button0 :
case R.id.button1 :
case R.id.button2 :
case R.id.button3 :
case R.id.button4 :
case R.id.button5 :
case R.id.button6 :
case R.id.button7 :
case R.id.button8 :
case R.id.button9 :
{
String value = ((Button)v).getText().toString();
if(update)
update = false;
else
value = ecran.getText() + value;
ecran.setText(value);
}
}
}
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ecran = (EditText) findViewById(R.id.editResult);
findViewById(R.id.button0).setOnClickListener(this);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);
findViewById(R.id.button4).setOnClickListener(this);
findViewById(R.id.button5).setOnClickListener(this);
findViewById(R.id.button6).setOnClickListener(this);
findViewById(R.id.button7).setOnClickListener(this);
findViewById(R.id.button8).setOnClickListener(this);
findViewById(R.id.button9).setOnClickListener(this);
} |
C'est surtout la partie dans le onCreate qui me chagrine un peu. Si j'ai 200 boutons , je vais avoir une tartines de code complètement imbuvable juste pour m'attacher à ma méthode gérant le onclick.
N'y a t'il pas plus simple ?
(je précise que mon expérience JAVA se limite à du non graphique , donc patapé si je fait des erreurs grossières :D )