Bom dia,
Estou criando um spinner e eu adicionei um OnItemSelectedListener a ele. Ao girar a tela, notei que o método é chamado duas vezes.
Como poderia tratar isso? Para que possa ser chamado apenas uma vez?
Bom dia,
Estou criando um spinner e eu adicionei um OnItemSelectedListener a ele. Ao girar a tela, notei que o método é chamado duas vezes.
Como poderia tratar isso? Para que possa ser chamado apenas uma vez?
Opa,
consegui resolver para passar apenas uma vez ao girar a tela, fiz o seguinte:
boolean virouTela = false;
int passMod = 0;
private OnItemSelectedListener spinnerModeloItemClick = new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1, int posicao,
long id) {
modeloVariacaoSel = descricaoModeloSpinner.get(posicao);
atualizaLista(1);
if(virouTela){
passMod++;
if(passMod == 2)
virouTela = false;
if(!virouTela)
listaImagem();
}
else
listaImagem();
return;
}
...
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
virouTela = true;
}
Foi o único jeito que consegui haha
Abraço!
Oi,
Quando você diz “virar a tela” significa oq exatamente? Rotação automática do Android?
Para qual versão do Android você está programando ?
Tchauzin!
Isso, em modo landscape ou portait.
Estou programando para o android 3.0
Oi,
Segundo informações do PAI do Android, você pode fazer uso do Fragment + setRetainInstance(true) para guardar o estado do app.
Tchauzin!