Was ich gerade mache, ist, einige Daten aus einer API zu holen und für jedes Element in der Antwort das Layout aufzublasen und dem Layout ein weiteres Element hinzuzufügen.
Ich möchte eine Schaltfläche "Zu Favoriten hinzufügen" hinzufügen, die das aktuelle Element in einer SQLite-Datenbank hinzufügt. Ich habe bereits das DAO-Zeug und das DB-Handling erstellt, aber eine Sache nervt mich.
Wenn ich auf die Schaltfläche klicke, kann ich nicht feststellen, auf welche Element-ID-Schaltfläche geklickt wurde. Ich bin normalerweise ein Webentwickler und im Web kann ein Button data-xxx="yyy"
Attribute haben, wobei xxx
und yyy
genau das sind, was der Entwickler will.
Ist das in Android möglich? Ich habe eine andere Lösung, aber es ist mehr wie ein "Hack": Erstellen Sie ein verstecktes TextView, das die ID meines Artikels enthält, und rufen Sie das onClick
-Ereignis ab, um dieses TextView zu überprüfen (das ist ein Geschwisterelement des Buttons). Irgendwelche anderen Ideen?
Wenn ich auf die Schaltfläche klicke, kann ich nicht erkennen, welche Schaltfläche für die Element-ID verwendet wurde geklickt
Sie können einer beliebigen View
eine beliebige Datenmenge hinzufügen, indem Sie die Methode setTag()
verwenden. Wenn Sie das Layout für ein neues Element aufblasen, erhalten Sie die ID dieses Elements und legen Sie sie als Tag für das Button
im neu aufgeblähten Layout fest, das diesem Element entspricht. Sie können dann in OnClickListener
für Button
das Tag (die ID in Ihrem Fall) mit der Methode getTag()
abrufen und es glücklich in die Datenbank einfügen.
Tags und Links android android-button