2015-07-11 15 views
7

Ich habe einen Recycler View Adapter. So beherbergt es 3 Ansichten. Einfach jede Ansicht hat ImageView. Wenn ein Benutzer auf ein Bild klickt (1 von 3) Erzeugt eine neue Absicht, eine Foto-App zu verwenden, und gibt sie an den Aufrufer zurück, wenn sie fertig ist. Der Aufrufer (die Aktivität, die RecyclerView und seinen Adapter erstellt hat) verarbeitet onActivityResult. Von dort muss ich ein Miniaturbild, das in der genannten Absicht aufgenommen wurde, auf das entsprechende ausgewählte ImageView setzen.Android: Zugriff auf den Viewer an der Position (von außerhalb des Adapters)

Frage. Wie kann ich in meiner Aktivität wissen, welche Bildansicht (von verfügbar 3) geändert werden soll? Meine Aktivität kennt nur eine Position, auf die das Element im Recycleransichtsadapter geklickt hat.

Ist es irgendwie möglich, einen Bezug zu einem bestimmten imageView im Adapter zu erhalten, indem nur die Position verwendet wird? So etwas wie folgt aus: von der Tätigkeit: adapter.getImageView(position)

EDIT: Also meine Lösung: Ich wurde von allen ImageViews in dem Adapter und gespeichert ihre ref in Arraylist in der `onBindViewHolder zu verfolgen. so jetzt kann ich einfach adapter.getImageView (Position) verwenden

+0

Wie werden Sie Werte jedes Element auf ur-Adapter zuweisen? Ich nehme an, Sie verwenden eine Arraylist richtig? Wenn ja, können Sie nicht versuchen, den Index der Arraylist mit der Adapterposition zu referenzieren? Es funktioniert für mich – spongyboss

+0

Ich muss auf eine bestimmte Ansicht zugreifen, kein Wert. – vankiz

+0

Die Sache ist, die einzige Möglichkeit, Foto-App zu verwenden, um Bild zu erfassen, ist Absicht zu schaffen, keine Möglichkeit, die Antwort in der tatsächlichen Adapter zu behandeln. Ich muss auf ein bestimmtes ImageView in meinem Adapter zugreifen .... oder ich denke, in jedem onBindViewHolder sollte ich nur verfolgen ImageViews in Array-Liste .. hmmm – vankiz

Antwort

-1

Ich glaube, Sie könnenOnClickListener für Ihre ImageView (oder für Ihre Zeile anzeigen) im Adapter. Feuert nur von dort ab.

+1

Ja, ich mache das schon. Aber um eine Antwort zu erhalten, muss ich dies in der Aktivität/dem Fragment tun, die außerhalb des Adapters liegt. Dann muss ich von der Aktivität/dem Fragment zum richtigen ImageView in meinem Adapter gelangen. Ich verwende gerade ArrayList und es scheint zu funktionieren. – vankiz

+0

Ja, wenn der Datensatz Ihres Adapters ImageView ist, dann kann es am Ende gut gehen. Ich hatte ein ähnliches Problem mit Ihrem und musste eine statische Instanz von 'onActivityResult' sowohl in meinem Adapter als auch in meiner Aktivität erstellen, um es zu lösen. –

+0

keine Versuche, Ihre Ansicht zu demonstrieren, sehr faul Antwort –

-1

Einfach Methode In dem Adapter Bezug auf Bild zurück an gewünschter Position Adapter halten Liste der Objekte u, um es passieren, so kann u sie manipulieren, wie Sie

gewünschten