Adott egy spinner komponens
hogyan tudok ehhez listenert írni?
ez pl. nem működik:
ArrayAdapter adapter;
Spinner spin;
spin = (Spinner)findViewById(R.id.spinner1);
adapter=new ArrayAdapter(this,android.R.layout.simple_spinner_item,beolvas());
spin.setAdapter(adapter);
spin.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
editText.setText(editText.getText().toString()+spin.getSelectedItem().toString());
}
});
hibaüzenetet nem kapok rá, de nem indul el emulátoron a program
mit rontok el?
a beolvas metódusom egy String[]-öt ad vissza
A legjobb persze az volna ha a spinner egy adott elemére kattintva történne bizonyos esemény
viszont a setOnItemSelectedListener-t ha jól olvastam akkor nem támogatja az android
Előre is köszi a válaszokat!
- 1066 megtekintés
Hozzászólások
Hello!
Az én programomban működik az OnItemSelectedListener:
spin.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { editText.setText(editText.getText().toString()+spin.getSelectedItem().toString());
}
}
A Spinnert így töltöm fel az Activity OnCreate() eseményében:
String[] array_spinner=new String[3];
array_spinner[0]="Első elem";
array_spinner[1]="Második elem";
array_spinner[2]="Harmadik elem";
spin = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, array_spinner);
spin.setAdapter(adapter);
Így működik a spinner jól. Android 2.1 a target egyébként.
- A hozzászóláshoz be kell jelentkezni
Köszi szépen! működik nekem is :)
- A hozzászóláshoz be kell jelentkezni
A problémám a következő:
Van egy spinner komponensem, ami egy XML fájlból olvas be alapértelmezett értékeket egy beolvas() nevű metódus segítségével ami egy tömböt ad vissza
spinner spin;
ArrayAdapter adapter;
adapter=new ArrayAdapter(this,android.R.layout.simple_spinner_item,beolvas());
spin.setAdapter(adapter);
a beolvas metódusomban van egy szint nevű integer változó
ennek az értéke kezdetben 1
ennek megfelelően az XML fájlom első szintű elemeit olvassa be
ha megnövelem kettőre akkor a tömb amit a beolvas() metódus visszaad már egészen más elemekkel tér vissza
a cél az volna hogy amikor a spinner egyik elemére rákattintok, akkor azt az elemet átadja egy EditText-nek,
és a spinner új elemeket vegyen fel
az átadás része meg van, a spinner fel is töltődik kezdetben az alapértelmezett értékekkel,
de nem tudom újból feltölteni más elemekkel, és nem is tudom, hogy ezt hogyan valósíthatnám meg
a gond az hogy a spinner az ArrayAdapter példányosításánál kap értéket
új példányt létrehozni minden alkalommal amikor feltöltöm a spinnert eléggé nagy memóriapazarlás volna
és nem is lenne túl szép megoldás
van rá mód hogy valahogy beadjak neki új értékeket, anélkül hogy új példányt kellene létrehoznom?
előre is köszi a segítséget!
- A hozzászóláshoz be kell jelentkezni