getFollowing()中的错误;应用程序挂起

时间:2018-05-05 04:48:27

标签: java firebase firebase-authentication

应用程序挂起,分为这两部分。并且它不允许您启动应用程序。

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_home, container, false);
    mListView = (ListView) view.findViewById(R.id.listView);
    mFollowing = new ArrayList<>();
    mPhotos = new ArrayList<>();

    getFollowing(); /* <= error */

    return view;
}

private void getFollowing(){
    Log.d(TAG, "getFollowing: searching for following");

    DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
    Query query = reference
            .child(getString(R.string.dbname_following))  
            .child(FirebaseAuth.getInstance().getCurrentUser().getUid()); /* <= error */

    query.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot singleSnapshot : dataSnapshot.getChildren()){
                Log.d(TAG, "onDataChange: found user: "+ 
        singleSnapshot.child(getString(R.string.field_user_id)).getValue());

                mFollowing.add(singleSnapshot.child(getString(R.string.field_user_id)).getValue().toString());
            }
            mFollowing.add(FirebaseAuth.getInstance().getCurrentUser().getUid());
            //get the photos
            getPhotos();
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

0 个答案:

没有答案