Ich verwende diese Aktivität, um Produktinformationen in einem Tabellenlayout anzuzeigen. Wenn keine Produkte oder keine Produktinformationen vorhanden sind, erhalte ich beim Start dieser Aktivität eine Nullzeigerausnahme. Wie gehe ich damit um?Nullzeiger Ausnahme beim Starten einer Aktivität
Ich rufe diese Methode in der obigen Aktivität, um meine Produktinformationen zu berechnen.
public static double calculateFlightTransactionTotal(PurchaseDao purchaseDao, PurchaseRefundDao purchaseRefundDao, AirlineActivity activity) {
double purchaseAmount = calculateFlightLegPurchaseTransactions(purchaseDao, activity);
double refundAmount = calculateFlightLegRefundTransactions(purchaseRefundDao, activity);
double netAmount = purchaseAmount - refundAmount;
return (netAmount > 0) ? netAmount : 0;
}
Die Linie, die NPE bei Doppel netTotalValue verursacht, ist = ...
FATAL EXCEPTION: main
Process: com.miairline, PID: 8096
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List com.miairline.model.PurchaseDao.getSuccessfulTransactions()' on a null object reference
at com.miairline.utils.SalesUtil.calculateFlightLegPurchaseTransactions(SalesUtil.java:43)
at com.miairline.utils.SalesUtil.calculateFlightTransactionTotal(SalesUtil.java:35)
at com.miairline.settings.SettingsFragment.startSalesReportActivity(SettingsFragment.java:1134)
at com.miairline.settings.SettingsFragment$22.onClick(SettingsFragment.java:1114)
Sie haben die Codezeile nicht eingefügt, in der der Absturz bei com.miairline.utils.SalesUtil.calculateFlightLegPurchaseTransactions (SalesUtil.java:43) auftritt – aelimill
Sie rufen 'getSuccessfulTransactions()' auf einem Nullobjekt auf. – SripadRaj
Ich habe es aufgenommen. Zeile 43 public double calculateFlightLeg .... Sie befindet sich im zweiten Codeblock. – punit1337