RadioButton.setSelected retorna Null Pointer exception

12 respostas Resolvido
D
public void selecionaRadio(String ocupacao){
if(ocupacao.contains("Vazio")){
    rdbtnVazio.setSelected(true);
}else{
    if(ocupacao.contains("Inquilino")){
        rdbtnInquilino.setSelected(true);
    }else{
        rdbtnProprietario.setSelected(true);
    }
}
}

12 Respostas

igomes

Qual a linha ?

D

qualquer uma das tres:

rdbtnVazio.setSelected(true);

rdbtnInquilino.setSelected(true);

rdbtnProprietario.setSelected(true);
igomes

sério ?
Pô vc tem a stack trace da exception, ve a linha da mesma e pelo menos fala qual objeto ta vindo nulo, preguiça mata.

D

Cara de acordo com a pesquisa q o usuário faz, retorna um valor a ser setado na radio button, e qualquer valor (que seja um dos tres) da null pointer exception! se eu fosse preguiçoso nem estaria aqui!

igomes

Então se tá dando null pointer nos 3, oq vc tem que ver é como é feita a criação desses caras.
E é preguiçoso sim, pq abriu o tópico e nem relatou o problema, só jogou o código, não falou se era nos 3, se era em 1 e etc, esperando a resposta de alguem pra dar ctrl c

D

Se você quer uma linha pega a primeira então pô! E como vou relar um problema que eu não sei o porque acontece? A unica coisa que sei é que acontece nessas linhas. Se vc ta procurando algo mais detalhado vai ler um livro!

Jonas_B_a_r_r_o_s

O metodo está todo errado, por isso que dá NullPointerException

D

Porque está errado?

Jonas_B_a_r_r_o_s
Solucao aceita

Você vai precisar declarar uma variavel do tipo RadioRandler, que implemente ItemListener, que por sua vez tem o metodo itemStateChanged

Ex: private RadioHandler handler;

Declarar no construtor isso:

handler = new RadioHandler();
 rdbtnVazio.addItemListener(handler);
 rdbtnInquilino.addItemListener(handler);

Criar a classe interna RadioHandler que implemente ItemListener.
Ex:

private class RadioHandler implements ItemListener {
               @Override
		public void itemStateChanged(ItemEvent event) {
			//Seu codigo aqui
		}
		
	}
D

Mas o itemListener não serve só se a radiobutton for selecionada?

Jonas_B_a_r_r_o_s

Sim. Se você quer que o RadioButton fique selecionado se determinada condição seja satisfeira sem a interferencia do usuario, ou seja, sem um evento do do usuario, terá que colocar esse codigo no construtor da classe. Assim quando iniciar o programa ele irá verificar. Caso contrario, caso queira que seja executado durante o runtime do seu programa precisara de pelo menos um ActionEvent

D

Entendi! Valeu cara!

Criado 5 de junho de 2016
Ultima resposta 5 de jun. de 2016
Respostas 12
Participantes 3