üretebilir Bunları çağrıların çok var:findViewById() NullPointerException
(ListView) getView().findViewById(R.id.main_list_view);
(TextView) getView().findViewById(R.id.items_no);
....
ve AndroidStudio onlar NullPointerException
procude olabileceğini söylüyor:
Yöntem çağırma
getView().findViewById(R.id.main_list_view)
java.lang.NullPointerException
az üretebilir .. (Ctrl + F1)Bu inceleme, olasıbildirimlerini raporlamak için yöntem kontrol ve veri akışını analiz eder. Her zaman doğru ya da yanlış olankoşulları, değeri olan ve sabit olduğu ispatlanan ifadeler ve nullability kontraktür ihlallerine yol açabilecek durumlar.
@Nullable
veya@NotNull
olarak işaretlenmişdeğişkenler, yöntem parametreleri ve dönüş değerleri (sırasıyla, ya boş olan) null olarak kabul edilir ve nullability sözleşmeler, örneğin kontrol etmek için analiz esnasında kullanılan Report
NullPointerException
hataları düzeltildi.Daha karmaşık sözleşmeler, örneğin
@Contract
ek açıklama kullanılarak tanımlanabilir:
@Contract("_, null -> null")
- ikinci bağımsız değişken, aksi boş ve boş değilse yöntem null döndürür - ikinci bağımsız değişken@Contract("_, null -> null; _, !null -> !null")
boş ise, yöntem null döndürür
@Contract("true -> fail")
- doğru kendisinedenetim yapılandırılabilir geçirilir, bir özel durum, tipik bir
assertFalse
yöntem Özel@Nullable
@NotNull
ek açıklamaları kullanmak
Neyse ki everithing işleri (varsayılan olarak annotations.jar gelenler kullanılacaktır), ama yapılan bu koda bir gelişme var mı?
Sen kod yazmak istediğiniz olamaz hiç muhtemelen NPE aracılığıyla ? – csmckelvey
ViewHolder kalıbı kullanıyor musunuz? – SKT
@takendarkk hayır, ama neden olduğunu söyleyebilmeyi istiyorum neden – Phate01