findViewById in DialogFragment - NullPointerException

8

Der Dialog, den ich zeige, hat zwei Spinner, und für einen von denen möchte ich den ausgewählten Gegenstand festlegen (der zu wählende Gegenstand wird von der Haupttätigkeit mit setArguments () / getArguments ())

übergeben

Das Problem ist, dass ich den Spinner nicht bekommen kann, stattdessen bekomme ich eine NullPointerException bei

Spinner spinner = (Spinner) view.findViewById(R.id.ssd_weeksSelectSpinner);

Der DialogFragment-Code:

%Vor%

Wie gewünscht, Layout für den Dialog (activity_schedule_select_dialog.xml):

%Vor%

Logcat:

%Vor%     
Rogy 12.05.2013, 11:46
quelle

3 Antworten

7

Gefunden die Lösung, anstatt zu versuchen, die Ansicht in public void onActivityCreated(Bundle savedInstanceState)

zu finden

In public Dialog onCreateDialog(Bundle savedInstanceState)

Ich habe mich von

geändert %Vor%

An

%Vor%

Und am Ende hinzugefügt

%Vor%     
Rogy 12.05.2013, 19:53
quelle
2

Extrahiere zuerst das Spinner-Objekt zu einem Mitglied der Klasse.

%Vor%

Weisen Sie Ihren Spinner dann der Funktion onCreateDialog ()

zu %Vor%

Platziere nun den Wert deines Spinner auf der onCreateView () Funktion

%Vor%

Prost!

    
noahutz 27.03.2015 00:40
quelle
1

Das liegt daran:

%Vor%

Es gibt Ihnen eine NullPointerException, weil das Spinner, es ist nicht bereits ausgewählt und es ist leer, wenn die Aktivität beginnt ... Sie müssen dies auf einen onItemSelected Listener setzen.

%Vor%

Sehen Sie dies für weitere Informationen: Ссылка

EDIT: Sie müssen auch die "R" Java-Datei importieren. Ich sehe es nicht auf den Importlisten:

%Vor%

EDIT 2: Um einen Listener zum Spinner hinzuzufügen, tun Sie dies:

%Vor%     
Bilbo Beggins 12.05.2013 12:01
quelle

Tags und Links