2016-06-06 20 views
9

Primo: abbiamo bisogno di fare riferimento al filatoreeventi di attuazione Spinner con lama di burro

@Bind(R.id.field_type_id) 
Spinner mTypeIdSpinner; 

Secondo: creare array di stringhe

<string-array name="type_id_array"> 
    <item>One</item> 
    <item>Two</item> 
    <item>Three</item> 
    <item>Four</item> 
    <item>Five</item> 
</string-array> 

Terzo: Caricare l'adattatore nella vostra attività (metodo onCreate per esempio)

private void loadSpinnerIdTypes() { 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
      R.array.type_id_array, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    mTypeIdSpinner.setAdapter(adapter); 
} 

Quarto: Ascoltare gli eventi

@OnItemSelected(R.id.field_type_id) 
void onItemSelected(int position) { 
    Timber.d("Element selected %s ", mTypeIdSpinner.getItemAtPosition(position)); 
} 

risposta

24

È possibile utilizzare @OnItemSelected con argomenti di metodo Spinner e int vedi esempio: (. Funziona con butterknife v 7.0.1)

@OnItemSelected(R.id.my_spinner) 
public void spinnerItemSelected(Spinner spinner, int position) { 
    // code here 
} 

+0

funziona anche con butterknife V6.1.0 (appena confermato con un test nel mio dispositivo) – voghDev

+0

Questa risposta deve essere contrassegnata come accettata @yaircarreno Grazie! –