Ich habe eine Hauptaktivität mit einem Pager und einem einfachen Datumsauswahl.Android: NullPointerException beim Aktualisieren von Fragment
Wenn ich ein Datum auswähle, rufe ich setCalendar in einem meiner Fragmente auf, um einen Wert zu ändern. In createChart erstelle ich ein einfaches Diagramm, die Ausnahme erscheint in der ersten Zeile, also schneide ich den Rest des Codes ab.
public static graph_month newInstance(int page, String title) {
graph_month fragment = new graph_month();
Bundle args = new Bundle();
args.putInt(PAGE, page);
args.putString(TITLE, title);
fragment.setArguments(args);
return fragment;
}
public graph_month() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
page = getArguments().getInt(PAGE);
title = getArguments().getString(TITLE);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_graph_month, container, false);
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
this.createChart();
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
public void setCalendar(Calendar cal) {
this.cal = cal;
maxMonth = cal.getActualMaximum(cal.DAY_OF_MONTH);
this.createChart();
}
public void createChart() {
lineChartW= (LineChart) getView().findViewById(R.id.lineChartW);
Aber jetzt bekomme ich eine Nullpointer auf ein Null-Objekt-Referenz) und meiner Meinung nach ist jetzt null. Ich habe keine Ahnung warum und ich kann mir keine andere Möglichkeit vorstellen, meine Fragmente von meiner Aktivität zu aktualisieren.
Vollfehlercode:
Prozess: com.example.snyap.graphdemo, PID: 1491 java.lang.NullPointerException: Der Versuch, virtuelle Methode aufzurufen ‚java.lang.String android.view.View .toString() 'für einen Null-Objektverweis bei com.example.snyap.graphdemo.graphs.graph_month.createChart (graph_month.java:125) bei com.example.snyap.graphdemo.graphs.graph_month.setCalendar (graph_month. java: 120) bei com.example.snyap.graphdemo.Graph.setDate (Graph.java:138) bei com .beispiel.snyap.graphdemo.Graph.onDateSet (Graph.java:144) bei android.app.DatePickerDialog.onClick (DatePickerDialog.java:134) bei com.android.internal.app.AlertController $ ButtonHandler.handleMessage (AlertController .java: 165) bei android.os.Handler.dispatchMessage (Handler.java:111) bei android.os.Looper.loop (Looper.java:194) bei android.app.ActivityThread.main (ActivityThread.java : 5549) bei java.lang.reflect.Method.invoke (native Methode) bei java.lang.reflect.Method.invoke (Methode.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller. run (ZygoteInit.java: 964) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:759)
Bitte buchen Sie die vollständige Stack-Trace. – cyroxis
Setzen Sie this.createChart(); in onCreateView und anstelle von getView(). findViewById (R.id.lineChartW); do view.findViewById (R.id.lineChartW); – Austi01101110
@ Austi01101110 gleichen Fehler – snyappy