Je souhaite donc connecter une méthode OnClick à un bouton A, mais ce que je veux, c'est quand je clique sur ce bouton A, les autres boutons (B, C, D, F) deviennent visibles. Mais quand j'exécute le code, il plante, n'importe qui peut m'aider?

     public void OnClick(View v) 
{
    b.setVisibility(View.VISIBLE);
    c.setVisibility(View.VISIBLE);
    d.setVisibility(View.VISIBLE);
    f.setVisibility(View.VISIBLE);
}

J'ajoute cette méthode à mon bouton A dans le activity_main.xml.

-4
Mário Caldas 16 janv. 2017 à 18:34

2 réponses

Meilleure réponse

Utilisez ce code complet:

ImageButton imB1, op1, op2, op3, op4, op5, op6, op7, op8;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    imB1 = (ImageButton) findViewById(R.id.imgB1);
    op1 = (ImageButton) findViewById(R.id.esc1);
    op2 = (ImageButton) findViewById(R.id.esc2);
    op3 = (ImageButton) findViewById(R.id.esc3);
    op4 = (ImageButton) findViewById(R.id.esc4);
    op5 = (ImageButton) findViewById(R.id.esc5);
    op6 = (ImageButton) findViewById(R.id.esc6);
    op7 = (ImageButton) findViewById(R.id.esc7);
    op8 = (ImageButton) findViewById(R.id.esc8);


}

public void Clicked(View v) {
    op1.setVisibility(View.VISIBLE);
    op2.setVisibility(View.VISIBLE);
    op3.setVisibility(View.VISIBLE);
    op4.setVisibility(View.VISIBLE);
    op5.setVisibility(View.VISIBLE);
    op6.setVisibility(View.VISIBLE);
    op7.setVisibility(View.VISIBLE);
    op8.setVisibility(View.VISIBLE);
}

Et changez cela dans votre xml:

<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@android:drawable/checkbox_off_background"
android:layout_marginLeft="62dp"
android:layout_marginStart="62dp"
android:layout_marginTop="15dp"
android:id="@+id/imgB1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="Clicked" /> //here changes are made
0
W4R10CK 16 janv. 2017 à 16:19

Votre premier bouton doit être le suivant:

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@android:drawable/checkbox_off_background"
    android:layout_marginLeft="62dp"
    android:layout_marginStart="62dp"
    android:layout_marginTop="15dp"
    android:id="@+id/imgB1"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:onClick="onClick" />

Selon la dernière ligne, votre méthode dans votre MainActivity devrait être la suivante (avec o de OnClick en minuscule)

public void onClick(View v) {
    op1.setVisibility(View.VISIBLE);
    op2.setVisibility(View.VISIBLE);
    op3.setVisibility(View.VISIBLE);
    op4.setVisibility(View.VISIBLE);
    op5.setVisibility(View.VISIBLE);
    op6.setVisibility(View.VISIBLE);
    op7.setVisibility(View.VISIBLE);
    op8.setVisibility(View.VISIBLE);
}

Sans le journal des erreurs, nous ne pouvons pas vous aider plus précisément que cela

0
firegloves 16 janv. 2017 à 16:07