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; } }

LinkBack URL
About LinkBacks
Rispondi quotando