Sto cercando di personalizzare lo spinner della barra delle azioni di Android su qualcosa che come l'applicazione di Google Maps. Fondamentalmente, solo il 'sottotitolo' dovrebbe riflettere ciò che scelgo dallo spinner mentre il 'titolo' rimane lo stesso. Comprendo che è necessario creare uno spinner personalizzato e devo eseguire l'override del metodo getView()
e getDropDownView()
. Ma sono molto confuso su come sovrascrivere correttamente questi metodi. Alcuni possono per favore spingermi nella giusta direzione. Spero di aver chiarito la mia domanda.Personalizzazione spinner barra di azioni
the image screenshot http://androidcowboy.com/wp-content/uploads/2012/12/google-currents-3a.jpg
Dato che segue è il mio codice.
public class CustomSpinnerAdapter extends BaseAdapter {
private LayoutInflater inflater;
private final Context context;
private final String[] dropDown;
private final String mainText;
private final String subText;
public CustomSpinnerAdapter(Context context,
String mainText, String subText,String[] dropDown) {
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.mainText=mainText;
this.subText=subText;
this.context = context;
this.dropDown=dropDown;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View actionBarView = inflater.inflate(R.layout.custom_spinner, null);
TextView textView = (TextView) actionBarView
.findViewById(R.id.custom_spinner_textview);
textView.setText(mainText);
return actionBarView;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View dropDownView = inflater.inflate(R.layout.custom_spinner, null);
TextView dropDownTextView = (TextView) dropDownView
.findViewById(R.id.custom_spinner_dropdown_textview);
dropDownTextView.setText(dropDown[position]);
return dropDownView;
}
}
ciò che è Objectlayers? – ajay