StefMa
Dauergast
- 450
Hi,
ich habe eine Datenbank die sieht so aus:
id, telefonnummer, text, uhrzeit [..]
In einem ListView gebe ich die Telefonnummer mit der Uhrzeit aus. Einfach hintereinander via:
Jetzt wollte ich noch einen OnItemClickListener hinzufügen. Beim Clicken soll ein Dialog erscheinen mit dem text in der datenbank.
Genau hier liegt mein problem!
Wie stelle ich eine "verbindung" her, welche Item geklickt wurde und welcher text aus der datenbank?!
Wenn die ID in der datenbank vortlaufenwäre, wäre es kein problem. OnItemListener hat ja als parameter "position". Damit könnte ich ja einfach abzählen.
Allerdings kann ich auch aus dem ListView (oder möchte es später implementieren) items löschen. [Welche auch logischerweiße in der Datenbank gelöscht werden müssen].
Somit ist die Zuordnung position = id nicht mehr gegeben..
Wie gehe ich also vor?
Danke MfG Ice
ich habe eine Datenbank die sieht so aus:
id, telefonnummer, text, uhrzeit [..]
In einem ListView gebe ich die Telefonnummer mit der Uhrzeit aus. Einfach hintereinander via:
Code:
ListView lv = (ListView) findViewById(R.id.loglistview);
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
// Lese datenbank aus und speichere es im hashMap!
MYDB = this.openOrCreateDatabase("DB", MODE_PRIVATE, null);
Cursor number = MYDB.rawQuery("select telNumber from Table", null);
Cursor time = MYDB.rawQuery("select finishTime from Table", null);
for(int x = 0; x<number.getCount(); ++x)
{
number.moveToNext();
String numberToSend = number.getString(0);
time.moveToNext();
String finishTime = time.getString(0);
// Unix-Timespat in Human-readable :D
SimpleDateFormat sdfDatum = new SimpleDateFormat("dd.MM.yyyy");
SimpleDateFormat sdfUhrzeit = new SimpleDateFormat("HH:mm");
map.put("nameNummer", "("+ numberToSend +")");
map.put("datumUhrzeit", sdfDatum.format(Long.parseLong(finishTime)) + " " + sdfUhrzeit.format(Long.parseLong(finishTime)));
mylist.add(map);
map = new HashMap<String, String>();
}
SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, R.layout.listlayout, new String[] {"nameNummer", "datumUhrzeit"}, new int[] {R.id.logTextViewNameNummer, R.id.logTextViewDatumUhrzeit});
lv.setAdapter(mSchedule);
Jetzt wollte ich noch einen OnItemClickListener hinzufügen. Beim Clicken soll ein Dialog erscheinen mit dem text in der datenbank.
Genau hier liegt mein problem!
Wie stelle ich eine "verbindung" her, welche Item geklickt wurde und welcher text aus der datenbank?!
Wenn die ID in der datenbank vortlaufenwäre, wäre es kein problem. OnItemListener hat ja als parameter "position". Damit könnte ich ja einfach abzählen.
Allerdings kann ich auch aus dem ListView (oder möchte es später implementieren) items löschen. [Welche auch logischerweiße in der Datenbank gelöscht werden müssen].
Somit ist die Zuordnung position = id nicht mehr gegeben..
Wie gehe ich also vor?
Danke MfG Ice