Ciao,
ho bisogno di creare uno spinner che all’interno ogni item ha più elementi(valori).
Esempio:
1 valore 2 valore
(1)AO (2)Aosta
(1)MI (2)Milano
(1)TO (2)Torino
Ecc…..
AO e Aosta è un concatenamento di due valori del Db e quindi non valore unico.
Quel che mi serve è allineare i valori all’interno dell’item.
Il problema è che non posso fare un layout fisso perché ho più spinner e sono variabili:
quello sotto a quello precedente ha tre elementi per item:
(1)CO (2)Como (3)Lombardia
(1)CR (2)Cremona (3)Lombardia
(1)FE (2)Ferrara (3)Emilia Romagna
Per iniziare ho messo un “\t” tra un elemento e l’altro ma ovviamente non è una soluzione.
Come Adapter ne ho una molto semplice. Come posso modificarlo? Grazie
codice:
public class MySpinnerAdapter extends ArrayAdapter<String> {
Context context;
String[] items = new String[] {};
private int textSize=13; //initial default textsize (might be a bit big)
public MySpinnerAdapter(final Context context, final int textViewResourceId, final String[] objects) {
super(context, textViewResourceId, objects);
this.items = objects;
this.context = context;
}
public MySpinnerAdapter(final Context context, final int resource, final int textViewResourceId ){
super(context, resource, textViewResourceId);
this.items = context.getResources().getStringArray(resource);
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent, false);
}
TextView tv = (TextView) convertView.findViewById(android.R.id.text1);
tv.setText(items[position]);
//tv.setTextColor(Color.BLUE);
tv.setTextSize(18);
return convertView;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(android.R.layout.simple_spinner_item, parent, false);
}
// android.R.id.text1 is default text view in resource of the android.
// android.R.layout.simple_spinner_item is default layout in resources of android.
TextView tv = (TextView) convertView.findViewById(android.R.id.text1);
tv.setText(items[position]);
//tv.setTextColor(Color.BLUE);
tv.setTextSize(textSize);
return convertView;
}
//set the textsize
public void setSpinnerTextSize(int size){
textSize= size;
}
//return the textsize
public int getSpinnerTextSize(){
return textSize;
}
}