我想從firebase數據庫的business_info節點下的PjSxhQXCyXdSv07LxVzU7buvhkF2中讀取'resName'和'status'值,如。嘗試在空對象引用上調用虛方法 - Firebase數據庫android
我不斷收到此錯誤:
Attempt to invoke virtual method 'java.lang.String com.example.android.project_water.Utilities.RestaurantInformation.getResName()' on a null object reference.
有誰知道如何解決這個問題?請讓我知道是否需要更多信息。
代碼:
public class Info extends Fragment {
private DatabaseReference mDatabase;
private FirebaseAuth firebaseAuth;
private String businessID;
private TextView resNameChange, statusChange;
public Info() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_info, container, false);
SharedPreferences businessID1 = getActivity().getSharedPreferences("BUSINESS_ID", Context.MODE_PRIVATE);
businessID = businessID1.getString("businessID", "businessIDNotFound");
Log.i("BUSINESS KEY IS: ", businessID);
firebaseAuth = FirebaseAuth.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference();
resNameChange = rootView.findViewById(R.id.resNameChange);
statusChange = rootView.findViewById(R.id.statusChange);
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
showData(dataSnapshot);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return rootView;
}
public void showData(DataSnapshot dataSnapshot) {
if (dataSnapshot.child("business_info").child(businessID).exists()) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
RestaurantInformation resInfo = new RestaurantInformation();
//error on the line below******
resInfo.setResName(ds.child(businessID).getValue(RestaurantInformation.class).getResName());
resInfo.setStatus(ds.child(businessID).getValue(RestaurantInformation.class).getStatus());
resNameChange.setText(resInfo.getResName());
statusChange.setText(resInfo.getStatus());
}
} else {
resNameChange.setText("NAME");
statusChange.setText("ONLINE");
}
}
}
我的模型
public class RestaurantInformation {
private String resName;
private String status;
public RestaurantInformation() {
}
public RestaurantInformation(String resName) {
this.resName = resName;
}
public RestaurantInformation(String resName, String status) {
this.resName = resName;
this.status = status;
}
public String getResName() {
return resName;
}
public void setResName(String resName) {
this.resName = resName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
I /業務鍵:: PjSxhQXCyXdSv07LxVzU7buvhkF2 – ben