
Punisher
Stamm-User
- 279
Hey Leute, ich bin jetzt lange ohne eure Hilfe klar gekommen aber jetzt finde ich einfach keine Lösung meines Problems. Ich sag mal dazu das ich erst relativ kurz dabei bin und die Java Grundlagen leider immer noch nicht ganz gefestet sind. Ich hoff ihr helft mir trotzdem 
Ich fang mal an wie meine App aufgebaut ist.
Beim starten der MainActivity wird eine Horizontal Swipe View mit 12 Fragmenten erzeugt. Das klappt.
Das erste Fragment heißt Fragment0 und erbt Fragment mit extends. Im Fragment0 Layout sind mehrere Buttons (Monat Januar, Jeder Tag ein Button) und TextViews. Diese habe ich in OnCreate alle so initialisiert mit
Die Buttons werden alle mit OnClick überwacht und funktionieren weil sie in der DatumTextView ihr Datum setzen und ein extra Button janAdd sichtbar wird wenn einer der 31 Buttons für die Tage im Januar gedrückt wird.
Beim Drücken des Buttons janAdd sollen mehrere Dialoge starten und die Auswahl an das Fragment 0 wieder zurück geben.
Der Button janAdd startet den ersten Dialog so.
Die klasse schichtListPicker sieht so aus.
Die Methode wo die Auswahl aus dem Dialog übergeben wird sieht so aus wo der Null Pointer dann auch entsteht. (Die Übergabe ist oben Rot markiert)
Bis zum textViewJanSchicht.setText("Frühschicht"); funktioniert alles wie gewünscht. Hatte vorher das Problem, dass die textViewJanSchicht auch eine NullPointer geworfen hat. Sie konnte nicht mehr gefunden werden. Nachdem ich aus "TextView = textViewJanSchicht" dies "public static TextView = textViewJanSchicht" gemacht hab funktioniert es.
Ich denke das gleiche Problem hab ich auch beim aufrufen des zweiten Dialogs wo ich kein Plan hab wie ich das lösen soll :/
Hat einer ne Idee?

Ich fang mal an wie meine App aufgebaut ist.
Beim starten der MainActivity wird eine Horizontal Swipe View mit 12 Fragmenten erzeugt. Das klappt.
Das erste Fragment heißt Fragment0 und erbt Fragment mit extends. Im Fragment0 Layout sind mehrere Buttons (Monat Januar, Jeder Tag ein Button) und TextViews. Diese habe ich in OnCreate alle so initialisiert mit
view v = inflater.inflate(R.layout.fragment0_layout, null);
buttonJan1 = (Button) v.findViewById(R.id.btnJan1);
Die Buttons werden alle mit OnClick überwacht und funktionieren weil sie in der DatumTextView ihr Datum setzen und ein extra Button janAdd sichtbar wird wenn einer der 31 Buttons für die Tage im Januar gedrückt wird.
Beim Drücken des Buttons janAdd sollen mehrere Dialoge starten und die Auswahl an das Fragment 0 wieder zurück geben.
Der Button janAdd startet den ersten Dialog so.
DialogFragment newFragment = new schichtListPicker();
newFragment.show(getFragmentManager(), "schichtListPicker");
Die klasse schichtListPicker sieht so aus.
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
public class schichtListPicker extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.waehleSchicht);
builder.setItems(R.array.fruehSpaetNachtschicht, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Fragment0 Fragment = new Fragment0();
Fragment.setSchicht(id);
}
});
return builder.create();
}
}
Die Methode wo die Auswahl aus dem Dialog übergeben wird sieht so aus wo der Null Pointer dann auch entsteht. (Die Übergabe ist oben Rot markiert)
public void setSchicht(int id){
if (id == 0){
textViewJanSchicht.setText("Frühschicht");
DialogFragment newFragment = new welcheSchichtPicker();
newFragment.show(getFragmentManager(), "welcheSchichtPicker");
Bis zum textViewJanSchicht.setText("Frühschicht"); funktioniert alles wie gewünscht. Hatte vorher das Problem, dass die textViewJanSchicht auch eine NullPointer geworfen hat. Sie konnte nicht mehr gefunden werden. Nachdem ich aus "TextView = textViewJanSchicht" dies "public static TextView = textViewJanSchicht" gemacht hab funktioniert es.
Ich denke das gleiche Problem hab ich auch beim aufrufen des zweiten Dialogs wo ich kein Plan hab wie ich das lösen soll :/
Hier wird der NullPointer geworfen. Komischweise kann ich alle dialoge einzeln aufrufen aber wenn ein zweiter aufgerufen wird scheint nichts mehr initialisiert zu sein.newFragment.show(getFragmentManager(), "welcheSchichtPicker");
Hat einer ne Idee?