Bonjour,
Je suis débutant sur Java et je développe une appli Android pour smartphones avec Android Studio.
Voici mon problème :
Dans mon GridLayout j'ai une centaine de boutons cliquables.
Quand l'utilisateur clique (ou touche) un bouton quelconque du layout, je le masque pour qu'il ne soit plus visible.
Ca, ça fonctionne, je joue sur la transparence et le background du layout, mais ça marche si j'ai instancié et défini le bouton dans le XML de l'app par un ID.
Mais je voudrais éviter de faire ça pour les 100 boutons dans le XML et avoir à les appeler 100 fois dans Java, trop fastidieux...
Existe-t-il une manière ou une méthode pour spécifier dans Java de faire appel au Listener sur n'importe quel bouton sans l'avoir instancié précédemment ?
Voici mon code :
Merci pour vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; public class MainActivity extends AppCompatActivity { Button boutona; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addListenerOnButton(); } public void addListenerOnButton() { boutona = (Button) findViewById(R.id.boutona); boutona.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { /* Les 2 actions effacent le texte et affectent la couleur du background au btn */ boutona.getBackground().setAlpha(0); boutona.setTextColor(Color.parseColor("#2aa17b")); return; } }); }
Partager