Question

J'ai un jeu dans lequel j'utilise 12 boutons sans texte pour afficher des vies.Chaque fois qu'ils perdent une vie, ce code est exécuté

public void guessesRemainingDisplay(int numberOfGuesses) {

    int guessesRemaining;

    guessesRemaining = maximumGuesses + 1 - numberOfGuesses;

    switch(guessesRemaining) {

    case 1:

        findViewById(R.id.Guess1).setBackgroundColor(color.transparent);
        break;

    case 2:
        findViewById(R.id.Guess2).setBackgroundColor(color.transparent);
        break;

    case 3:
        findViewById(R.id.Guess3).setBackgroundColor(color.transparent);
        break;

    case 4:
        findViewById(R.id.Guess4).setBackgroundColor(color.transparent);
        break;

    case 5:
        findViewById(R.id.Guess5).setBackgroundColor(color.transparent);
        break;

    case 6:
        findViewById(R.id.Guess6).setBackgroundColor(color.transparent);
        break;

    case 7:
        findViewById(R.id.Guess7).setBackgroundColor(color.transparent);
        break;

    case 8:
        findViewById(R.id.Guess8).setBackgroundColor(color.transparent);
        break;

    case 9:
        findViewById(R.id.Guess9).setBackgroundColor(color.transparent);
        break;

    case 10:
        findViewById(R.id.Guess10).setBackgroundColor(color.transparent);
        break;

    case 11:
        findViewById(R.id.Guess11).setBackgroundColor(color.transparent);
        break;

    case 12:
        findViewById(R.id.Guess12).setBackgroundColor(color.transparent);
        break;


    }

}

Et le bouton le plus à droite disparaît (ils sont alignés, 1 à gauche 12 à droite).

Cependant, lorsque je démarre un nouveau jeu, ou lorsque l'activité s'ouvre pour la première fois, ce code est exécuté

findViewById(R.id.Guess1).setBackgroundColor(color.X);

Répété pour chaque identifiant.X étant littéralement n'importe quelle couleur (je l'ai essayé avec des tas de couleurs différentes).Pour une raison quelconque, si ce code est exécuté, le bouton disparaît.Pourquoi?Si ce n'est pas lancé, les 12 boutons apparaissent, mais chaque fois que je lance un nouveau jeu, évidemment, les boutons qui ont disparu en raison de la perte de vies ne reviennent pas.

Était-ce utile?

La solution

Pour votre tâche, il est préférable d'utiliser findViewById(R.id.id).setVisibility(View.Invisible) pour la disparition et 'findViewById (R.id.id) .setVisibility (View.Visible)' pour renvoyer la vue.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top