Primeiro objeto de um Spinner está vindo selecionado, executando o "onItemSelected"

1 resposta
buiutb

Pessoal,
Estou com um problema no componente Spinner.

Eu criei um spinner(spinnerMode="dialog") e preencho com uma lista de objetos.
no onCreate da activity eu já preencho o "setOnItemSelectedListener" do spinner.
Porém, quando eu executo o programa e uma tela chama esta tela, a view é criada e o primeiro item da spinner é validada com clicada.

Segue o trecho do onitemselectedlistener:

spinnerEmpresas.setOnItemSelectedListener(new OnItemSelectedListener() {
		@Override
		public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
			if(position > 0)
				startActivity(new Intent(SelecionarPerfilActivity.this, PrincipalActivity_.class));
	         }

		@Override
	        public void onNothingSelected(AdapterView<?> parentView) {}
});

Se tiverem dúvidas é só questionar.

Aproveitando o post e deixando uma dica pro pessoal que vai usar spinner com versões do Android acima do 4.0.
android:spinnerMode é um método onde você opta pra usar de forma dropdown ou dialog. Na opção dropdown, não é possível usar o android:prompt.

Valeu pessoal.

1 Resposta

fabriciov

Ja aconteceu comigo, mas com uma gallery.
Resolvi assim:

Declarei uma boolean na classe
private boolean mInicialized = false;
spinnerEmpresas.setOnItemSelectedListener(new OnItemSelectedListener() {  
        @Override  
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {  
            if(!mInicialized)  {
                mInicialized = true;
             } else{
               //seu codigo

             }
       }
  
        @Override  
            public void onNothingSelected(AdapterView<?> parentView) {}  
});
Criado 16 de janeiro de 2013
Ultima resposta 18 de jan. de 2013
Respostas 1
Participantes 2