Benutzerdefinierter Alarmdialog mit RecyclerView

8

Ich verwende RecyclerView , um einen Text aufzulisten, und jetzt möchte ich es so einrichten, dass, wenn der Benutzer auf Text klickt, ein benutzerdefiniertes Benachrichtigungsdialogfeld erscheint.

Ich habe das bisher versucht, bekomme aber eine NullPointerException; Was könnte hier falsch sein?

%Vor%     
Jacques Krause 06.11.2015, 05:45
quelle

6 Antworten

4

Ich vergaß die Initialisierung meines Kontextes

context = itemView.getContext ();

    
Jacques Krause 06.11.2015, 06:42
quelle
3

Dies ist nicht die Antwort auf Ihre Anfrage, sondern die bessere Lösung für dieses Szenario.

  

Verwenden Sie Rückrufmethoden.

In Ihrer Aktivität:

Dies wird die Schnittstelle implementieren, die wir in unserem Adapter haben. In diesem Beispiel wird es aufgerufen, wenn der Benutzer auf ein Element in RecyclerView klickt.

%Vor%

In Ihrem Adapter:

In der Aktivität haben wir unser Adapter initiiert und dies als Argument an den Konstruktor übergeben. Dies wird unsere Schnittstelle für unsere Rückrufmethode initiieren. Sie können sehen, dass wir unsere Callback-Methode für Benutzerklicks verwenden.

%Vor%

Höflichkeit: Call Activity-Methode vom Adapter

    
Anoop M 06.11.2015 05:52
quelle
2
%Vor%     
Nikunj 06.11.2015 05:55
quelle
0

Sie verwenden context , was null ist, übergeben Sie also den context in ViewHolder -Konstruktor und im CBAdapter -Konstruktor auch wie unten:

%Vor%

Und in der ViewHolder-Klasse

%Vor%     
Pankaj 06.11.2015 05:59
quelle
0

Nicht direkt auf die Frage bezogen, obwohl ich dich bitte: NICHT auf ClickListener-s innerhalb Adapter setzen!

So sollte es gemacht werden:

%Vor%

Ich hoffe, meine Antworten helfen jemandem, einen besseren Code zu schreiben:)

    
Georgy Savatkov 26.02.2016 17:24
quelle
-2

Schreiben Sie diesen Code:

%Vor%

statt

%Vor%

(oder)

%Vor%

Hoffe, das hilft.

Happy Coding:)

    
Venkatesh Selvam 06.11.2015 06:03
quelle