Questo è l'elemento filatore con modalità finestra personalizzata e whitout promt:
<Spinner
android:id="@+id/spinner_metatag"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/search_adv"
/>
l'elemento di matrice in cui il valore di default è putted nella posizione 0:
<string-array name="search_adv">
<item>@string/search_adv_prompt</item>
<item>@string/search_adv_title</item>
<item>@string/search_adv_desc</item>
<item>@string/search_adv_autore</item>
....
</string-array>
Gli elementi di stringa per la matrice con il valore predefinito:
<string name="search_adv_prompt">Scegli un metatag</string> <!-- Default value-->
<string name="search_adv_title">Titolo</string>
<string name="search_adv_desc">Descrizione</string>
<string name="search_adv_autore">Autore</string>
...
E qui il codice per prevenire l'evento attivato su onCrea teMethod e il lavoro intorno per consentire di selezionare lo stesso elemento già selezionato:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_adv_main);
spinner = (Spinner) findViewById(R.id.spinner_metatag);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
//prevent onCreate event fire and the loop
if(pos==0)
return;
//HERE YOUR CODE
//at the end move to the default element the spinner
spinner.setSelection(0);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {}
});
}
speranza aiuta. L'idea viene dalla seconda soluzione da TreKing's answer
Vorrei poter superare questa domanda 1000 volte. E vorrei che ci fosse una risposta decente. Sono state alla ricerca di ore per cercare di aggirare questa stupida limitazione. – aaronsnoswell
http://stackoverflow.com/a/11323043/2798289 – Govind