Pregunta

Tengo un juego en el que estoy usando 12 botones sin texto para mostrar vidas. Cada vez que pierden una vida, este código se ejecuta

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;


    }

}

Y el botón más derecho más recto desaparece (están en una línea, 1 a la izquierda 12 a la derecha).

Sin embargo, cuando comienzo un nuevo juego, o cuando la actividad se abre por primera vez, este código se ejecuta

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

Repetido para cada identificación. X Ser literalmente de cualquier color (lo he probado con un montón de diferentes). Por alguna razón, si este código se ejecuta, el botón desaparece. ¿Por qué? Si no se ejecuta, aparecen los 12 botones, pero cada vez que empiezo un nuevo juego obviamente los botones que han desaparecido debido a perder vidas no vuelven.

¿Fue útil?

Solución

Para tu tarea es mejor usar findViewById(R.id.id).setVisibility(View.Invisible) para desaparecer y 'findViewByid (r.id.id) .setVisibility (ver.visible)' para devolver la vista.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top