Представление списка баз Firebase для Android с условием - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу сделать представление списка, но при условии, если текущий идентификатор пользователя существует в Членах, затем отобразите имя группы, и это похоже на тест в скриншоте

enter image description here

Представление списка работает, но отображает все группы, и мне нужно отобразить только те группы, членом которых является текущий пользователь.

   @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        groupFragmentView = inflater.inflate(R.layout.fragment_groups, container, false);
        GroupRef = FirebaseDatabase.getInstance().getReference().child("Groups");
        mGroupsList = (ListView) groupFragmentView.findViewById(R.id.list_view);

        final ArrayAdapter arrayAdaptor = new ArrayAdapter<String>(getContext(),android.R.layout.simple_list_item_1,mGroups);
        mGroupsList.setAdapter(arrayAdaptor);


        mGroupsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id)
            {
                String currentGroupName = adapterView.getItemAtPosition(position).toString();

                Intent groupChatIntent=new Intent(getContext(),GroupChatActivity.class);
                groupChatIntent.putExtra("groupName",currentGroupName);
                startActivity(groupChatIntent);
            }
        });


                GroupRef.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

                String value = dataSnapshot.getKey();
                
                String currentUser= mAuth.getUid();
                
                UserRef = GroupRef.child(value).child("Group Details").orderByChild("Members").equalTo(currentUser);
                
                mGroups.add(value);

                arrayAdaptor.notifyDataSetChanged();
            }

            @Override
            public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

            }

            @Override
            public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {

            }

            @Override
            public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...