Hinzufügen benutzerdefinierter Daten / Attribute zur Schaltfläche in Android

7

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?

    
Eduard Luca 26.01.2013, 16:06
quelle

1 Antwort

19
  

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.

    
Luksprog 26.01.2013, 16:23
quelle

Tags und Links