Um aktiv im Android Forum teilnehmen zu können, musst Du Dich bei AndroidPIT registriert haben.
floatec ![]()
Rang: Android Doc Beiträge: 361 Eintrittsdatum: 12.08.2009 |
daten an listener übergeben verfasst am 22.12.2010 17:11:26
ich stehe grad vor folgenden Problem.
ich hab eine Function die ein Tablelayout dynamisch mit tabelrows füllt in dennen wieder rum textviews sind. jetzt wollte ich diesen textviews einen onlongclick listener verpassen in denn ein intent aufgerufen werden soll....diesen intent sollen aber immer je nach textview ein anderer wert übergeben werden. jetzt ist nur die frage wie ich dieser listener klasse einen wer übergeben kann. wäre über einen lösungsansatz sehr dankbar. gruß paddy |
![]() Gelöschter Account |
RE: daten an listener übergeben verfasst am 22.12.2010 18:11:59
Da gibt es verschiedene Möglichkeiten.
Du könntest zum Beispiel jedem dieser TextViews mit setTag() ein Objekt verpassen. Im globalen Listener (Du hast doch nur einen für alle TextViews, oder?) kannst Du dieses Objekt dann mit getTag() wieder rausholen und entsprechend die Intents steuern. Gruß Harald
----- |
floatec ![]()
Rang: Android Doc Beiträge: 361 Eintrittsdatum: 12.08.2009 |
RE: daten an listener übergeben verfasst am 22.12.2010 18:32:50 Admin Service Limited Da gibt es verschiedene Möglichkeiten. Du könntest zum Beispiel jedem dieser TextViews mit setTag() ein Objekt verpassen. Im globalen Listener (Du hast doch nur einen für alle TextViews, oder?) kannst Du dieses Objekt dann mit getTag() wieder rausholen und entsprechend die Intents steuern. Gruß Harald danke das dürfte der einfachste weg sein. |
![]() Gelöschter Account |
RE: daten an listener übergeben verfasst am 23.12.2010 11:20:50
Nachtrag: Ich stolpere gerade in unserem Code über eine Stelle die in etwa Deiner Anforderung entspricht. Hier geht es allerdings um einen TextWatcher. Den zuerst von mir genannten Vorschlag würde ich austauschen gegen eine InnerClass - ist dann doch geschickter:
1private class MyTextWatcher implements TextWatcher { 2 private long l; 3 4 public MyTextWatcher(final long l) { 5 // Irgendeine Kennung für diese Instanz 6 this.l = l; 7 } 8 9 public void afterTextChanged(Editable editable) { 10 // Hier dann interpretieren von l 11 switch (l) { 12 // 13 } 14 } 15 16 public void beforeTextChanged (CharSequence charSequence, int start, int count, int after) {} 17 18 public void onTextChanged (CharSequence charSequence, int start, int before, int count) {} 19} Genutzt wird das Ganze dann mit dem Code: 1editText1.addTextChangedListener(new MyTextWatcher(1)); 2editText2.addTextChangedListener(new MyTextWatcher(2)); 3... Du mußt das jetzt nur an Deinen longClick und Deine TextViews anpassen. Gruß Harald
----- |