Arraylist,condição

como fazer condição em arraylist?
exemplo:eu tenho varias perguntas e ela sera gerada com o sufle

e de acordo com a posição gerada no arraylist

os radiobutton muda as info!1

qual e a placa principal do pc?
opcao1
opcao2
opca3

mas eu não sei fazer a condição com arraylist

if(listadearrays.equals(0){
radiobutton.setText(“Placa mãe”);

}

como faço ?

if(listadearrays.**get(i)**.equals(0){
radiobutton.setText("Placa mãe");

}

o .get(indice) você parra a posição do array que quer verificar, se quer verificar todos, faça um foreach. Exemplo:

if(listaDeArrays.get(0).equals(0)){
	radiobutton.setText("Placa mãe");
	}

Acima você está verificando a posição 0 do seu ArrayList:

	    get(int index)
        Returns the element at the specified position in this list.
1 curtida

amanha,vou testar mt obrigado,dms775

testei, é nao deu certo :joy:

   ArrayList<String> listadearrays = new ArrayList<>();

    listadearrays.add("Qual a Principal Placa do Computador ?");

    listadearrays.add("Qual Peça do Computador é Responsavel Por Processar dados?");

    listadearrays.add("O que é HTML?");
    //listadearrays.remove(0);
    Collections.shuffle(listadearrays);
    
    if(listadearrays.get(0).equals(0)){
     
        edpergunta.setText(listadearrays.get(0));
        
        rbtn1.setText("placa mãe");
        
        rbtn2.setText("Placa filha");
    
    }

Então, é um array de String? o parâmetro do equals tem que ser “0” e não 0, qual erro que ele retorna pra você?

tentei tb como “0” :frowning: , mas o ele não faz nada
eu quero que a pergunta que gerarada vai para o label

e depois disso essa pergunta e removida do arraylist
listaderrays.remove(0);

Crie uma classe para as perguntas e respostas:

class Pergunta {
    String enunciado;
    String[] alternativas;
    String resposta;
}

e na lista:

ArrayList<Pergunta> perguntas = new ArrayList<>();

// adiciona as perguntas aqui

Collections.shuffle(perguntas);

Pergunta p = perguntas.get(0); // ou remove(0)

edpergunta.setText(p.enunciado);
rbtn1.setText(p.alternativa[0]);
rbtn2.setText(p.alternativa[1]);
rbtn3.setText(p.alternativa[2]);

Se não puder ou não souber usar classes, use vetores com lista:

String[] pergunta;
ArrayList<String[]> listadearrays = new ArrayList<>();

pergunta = new String[5];
pergunta[0] = "Qual a Principal Placa do Computador ?"; // enunciado
pergunta[1] = "placa mãe"; // alternativa 1
pergunta[2] = "placa filha"; // alternativa 2
pergunta[3] = "placa pai"; // alternativa 3
pergunta[4] = "placa mãe"; // resposta
listadearrays.add(pergunta);

pergunta = new String[5];
pergunta[0] = "O que é HTML?"; // enunciado
pergunta[1] = "4 letras"; // alternativa 1
pergunta[2] = "5 letras"; // alternativa 2
pergunta[3] = "6 letras"; // alternativa 3
pergunta[4] = "4 letras"; // resposta
listadearrays.add(pergunta);

Collections.shuffle(listadearrays);

String[] p = listadearrays.get(0); // ou remove(0)

edpergunta.setText(p[0]);
rbtn1.setText(p[1]);
rbtn2.setText(p[2]);
rbtn3.setText(p[3]);
1 curtida

vou testar

obrigado pela dica,mas na hora de fazer a condição com o arraylist para saber se a resposta esta coreta que eu não consequi fazer srsrs :slight_smile:

String[] p = listadearrays.get(0); // ou remove(0)

edpergunta.setText(p[0]);
rbtn1.setText(p[1]);
rbtn2.setText(p[2]);
rbtn3.setText(p[3]);

int alternativaEscolhida; // entrada do usuário que pode ser 1,2 ou 3;

if (p[alternativaEscolhida].equals(p[4])) { // p[4] seria a resposta correta
    // acertou
} else {
    // errou
}
1 curtida