[英]Android Studio - java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener
[英]Android Studio java.lang.NullPointerException: Attempt to invoke virtual method
我從我的應用中得到的錯誤
我的錯誤
java.lang.NullPointerException: Attempt to invoke virtual method
'java.lang.String com.populargeng.trackamechanic.Model.Client.getName()' on a
null object reference
at com.populargeng.trackamechanic.Home$5$1.onDataChange(Home.java:355)
我寫的代碼行
我的密碼
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Because Client and User Model is same properties
// So we can use the Client Model to get User here
Client client = dataSnapshot.getValue(Client.class);
// Add client to map
mMap.addMarker(new MarkerOptions().position(new LatLng(location.latitude, location.longitude))
.flat(true).title(client.getName())
.snippet("Phone: "+client.getPhone())
.icon(BitmapDescriptorFactory.fromResource(R.drawable.repair)));
}
請我如何糾正這個問題。 它以前工作正常,但現在不再工作
從異常消息java.lang.String com.populargeng.trackamechanic.Model.Client.getName()
可以看出,此錯誤取決於您返回的數據,即dataSnapshot
為空或無法填充Client.class
因為dataSnapshot.getValue(Client.class)
返回一個空對象。 要解決此問題,您要么必須調整Client
類,要么至少用空檢查括住您的呼叫,以確保不會添加空數據:
if (client != null) {
// Add client to map
mMap.addMarker(new MarkerOptions().position(new LatLng(location.latitude, location.longitude))
.flat(true).title(client.getName())
.snippet("Phone: "+client.getPhone())
.icon(BitmapDescriptorFactory.fromResource(R.drawable.repair)));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.