È possibile modificare la posizione selezionata del filatore in qualcosa senza che venga chiamato il metodo onItemSelected
?Come impostare l'oggetto Spinner senza onItemSelected ottenere chiamato
in pratica quello che sto cercando di fare è tornare alla voce selezionata precedentemente nella casella di selezione, poiché una di esse mostra una finestra di dialogo quando selezionata. Quando l'utente preme il pulsante Indietro, lo spinner mostra ancora che si trova nella posizione che mostra la finestra di dialogo quando è stata chiusa.
Quindi c'è un modo per evitare che venga richiamato quando si ripristina utilizzando spinner.setSelection(position)
o c'è un modo per mantenere la posizione che mostra la finestra di dialogo da rimanere selezionato?
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
switch(arg2){
case 0:
previousSelection = 1;
mNavButtonClick.onNavButtonClick(1);
break;
case 1:
previousSelection = 2;
mNavButtonClick.onNavButtonClick(2);
break;
case 2:
previousSelection = 3;
mNavButtonClick.onNavButtonClick(3);
break;
case 3:
previousSelection = 4;
mNavButtonClick.onNavButtonClick(4);
break;
case 4:
previousSelection = 5;
mNavButtonClick.onNavButtonClick(5);
break;
case 5:
//this case shows the dialog
mNavButtonClick.onNavButtonClick(6);
break;
default:
break;
}
}
finestra di dialogo è mostrata, l'utente fa clic sul pulsante di nuovo per chiudere la finestra e nel onDismiss
io chiamo
spinner.setSelection(previousSelection);
di tornare alla selezione precedente, ma questa ri-crea la vista ancora una volta, che io non voglio dal momento che sono già sul punto di vista voglio solo mostrare che sono in vista nello spinner
prova ad aggiornare l'adattatore. – NarendraJi
@NarendraDroidWorm che semplicemente ricostruirà la lista impostando la posizione di selezione su '0' che in realtà non è molto diverso dal chiamare' setSelection' sull'ultima posizione selezionata – tyczj
pubblica il tuo codice attuale, il codice descriverà molto più delle parole – stinepike