Hogyan lehet Androidban, a ListView/ArrayAdapter komponenseit elérni?
A problémám a következő: adott egy ListView, ami egy több dimenziós tömb elemeit jeleníti meg egy ArrayAdapterrel. Jelenleg minden sorban vannak Edittextek és gombok. Az Edittext jeleníti meg a tömb elemeit, amiket át lehet írni, majd a gomb lenyomásával, az adott sor elemei bekerülnek egy adatbázisba. Azonban így minden sor módosításakor, egyenként kell a gombokat nyomogatni, ezért azt szeretném, hogy legyen a ListViewn kívül egy gomb, aminek az eseménykezelője megkapja a ListViewban lévő Edittextek aktuális tartalmát, majd azokat sorban felviszi az adatbázisba.
Valami hasonlóra gondoltam:
ArrayAdapter ad = new ArrayAdapter(...);
for(int i = 0; i < ad.getCount(); i++){
ad.getItem();
}
A fenti kóddal sajnos csak az ArrayAdapternek átadot tömb elemeit lehet elérni, az Edittexteket nem. A ciklusmagban kéne egy olyan getter, amire használható például findViewById.
Köszi a segítséget.
az adapternek ezt a metódusát kell felül definiálni:
getView(int position, View convertView, ViewGroup parent)
getView(int position, View convertView, ViewGroup parent){
EditText edittext = (EditText) convertView.findViewById(R.id.edittext);
Button button = (Button)convertView.findViewById(R.id.button);
//szerkeszted az elemeket.
return convertView;
}
lehet nem tökéletes de körülbelül így.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!