Popup-Menü in benutzerdefinierter ListView

7

Was ich erreichen möchte:

Ich habe einen benutzerdefinierten ListView-Adapter. Zu jedem Listitem möchte ich ein Popup-Menü hinzufügen, das dem ListView in der aktuellen Google Play-Anwendung sehr ähnlich ist.

Das habe ich ausprobiert: Der meiste Code stammt von diesem Android-Beispiel samples \ android-19 \ ui \ ActionBarCompat-ListPopupMenu

CustomFragmentPageAdapter.java :

%Vor%

CustomFragment.java

%Vor%

CustomArrayAdapter :

%Vor%

popup_menu.xml :

%Vor%

Logcat-Ausgabe :

%Vor%

Der Fehler wird bei popup.show () in meinem CustomFragment ausgelöst.

Dieser Fehler macht mich wahnsinnig verrückt und jede Hilfe zur Lösung dieses Problems wird sehr geschätzt!

    
Al0x 05.01.2015, 15:41
quelle

7 Antworten

36

Ich habe endlich die Lösung für mein Problem gefunden, obwohl ich keine Erklärung dafür habe, warum diese Lösung funktioniert.

Beim folgenden Import hatte ich immer den Fehler:

%Vor%

Es funktioniert gut mit dem folgenden Import:

%Vor%

Ich habe den Code von Ric (Danke für die großartige Hilfe!) und meiner eigenen getestet. Beide arbeiten jetzt. Vielleicht hat jemand eine Erklärung, warum der Import in diesem Fall eine Rolle spielt.

    
Al0x 07.01.2015, 18:59
quelle
4

Erstellen Sie zuerst eine button in Ihrer custom-item-listview.xml und fügen Sie dann den folgenden Code hinzu:

Button :

%Vor%

Klasse:

%Vor%

BEARBEITEN: Das funktioniert gut für mich:

TAB1

%Vor%

CustomList :

%Vor%     
Rick 05.01.2015 16:49
quelle
3

Verwenden Sie dies als (Aktivitätskontext) nicht Anwendungskontext oder Kontext

%Vor%     
Uzair 14.06.2016 10:17
quelle
2
%Vor%

Hinweis:
    Vergessen Sie nicht, dies zu importieren ....

%Vor%     
karthick 29.09.2016 10:01
quelle
1

Ich hatte gerade das gleiche Problem, als ich den Design-Parent-Style geändert habe: von

%Vor%

bis

%Vor%

Vielleicht verwendet Ihre App den Theme.Base-Stil, der den von PopupMenu verwendeten 6. Parameter nicht definiert. Von der SO Frage Wie ActionBarActivity mit Theme.Material verwendet wird , Theme. AppCompat erweitert Theme.Base.AppCompat

    
Philippe 07.01.2015 11:02
quelle
1

Ricks Zeilencode funktioniert perfekt, solange Sie Folgendes importieren:

%Vor%

Nicht der eine:

%Vor%     
Josi 09.03.2017 15:22
quelle
0

Ich habe einen ähnlichen Fehler behoben, indem ich als Parameter eine statische Aktivität übergeben habe. Zum Beispiel:

%Vor%

Sie könnten auch dieses Problem haben: Issue 152141

Hoffentlich wird es dir helfen, den android.support.v7.widget.PopupMenu Import zu respektieren.

Grüße.

    
mlopezv86 09.06.2016 10:23
quelle