我的代碼如下所示:如下圖所示火力地堡onDataChange方法不叫即使數據發生變化
private DatabaseReference mFirebaseDatabase;
private FirebaseDatabase mFirebaseInstance;
private static final String TAG = "OrderManagementFragment";
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_order_managment, container, false);
//get reference to the orders node
mFirebaseDatabase = mFirebaseInstance.getReference("orders");
// app_title change listener
mFirebaseInstance.getReference("58ca237b2e2c211dc0c7ed9b").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Toast.makeText(getActivity(), dataSnapshot.getValue(String.class), Toast.LENGTH_LONG).show();
Log.d(TAG, "onDataChange: " + dataSnapshot.getValue(String.class));
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG).show();
Log.d(TAG, "onCancelled: " + error.getMessage());
}
});
return view;
}
我對火力的憑據:
現在,這裏發生的是,無論何時數據從後端改變,onDatachange方法永遠不會被調用。所以在這個方法中有什麼缺失?
我正在測試通過android模擬器,這是它的問題?
您將您的聽衆附加到錯誤的位置。將其更改爲'mFirebaseDatabase.child( 「58ca237b2e2c211dc0c7ed9b」)addValueEventListener(新ValueEventListener(){' –