如何在Firebase中将子密钥与另一个子密钥进行比较并在单独的父母中获得价值?

时间:2018-12-19 19:14:04

标签: java android firebase listview firebase-realtime-database

我目前正在为我的Uber风格的应用制作ListView。我已经有了一个节点中存在的密钥/ UID,并且能够在ListView中显示密钥

红色箭头显示相同的UID /键,因此不应显示“随机事物”。 而且我想代替键,而是使“名称”(蓝色箭头/圆圈)显示在ListView上。

https://i.imgur.com/fUQLT8N.png

因此,我不需要显示“ Gx1oJHjQL1OIXQb31zyiydNp3Vt2”,而是显示“ Steven bills”。

实际上,我知道了 https://i.imgur.com/RxRczGa.png

我已经尝试获取ListView来显示包含基于Key的子项值的String。但是我得到的只是一个显示Firebase URL的ListView(由下面的代码引起)

private ListView listView;
private DatabaseReference database, findSeller;
private ArrayList<String> mSellerId = new ArrayList<>();


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_freelancer_list);
    database = FirebaseDatabase.getInstance().getReference("sellerAvail");



    listView = (ListView) findViewById(R.id.newListView);

    final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mSellerId);
    listView.setAdapter(arrayAdapter);

    database.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot dsp : dataSnapshot.getChildren())
            {
                String value = null;
                value = (String) valueOf(dsp.getKey());


                 //get the key of the sellerAvail
                //Gx1oJHjQL1OIXQb31zyiydNp3Vt2

                //how can i search in Seller node?

                //DatabaseReference fi = FirebaseDatabase.getInstance().getReference("Users").child("Seller").child(value).child("name");
                findSeller = FirebaseDatabase.getInstance().getReference("Users").child("Seller").child(value).child("name");

                mSellerId.add(findSeller.toString());
                arrayAdapter.notifyDataSetChanged();
            }
        }

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

        }
    });

基本上我想做什么:
1.获取“ Seller”和“ sellerAvail”之间相似的密钥
2.获取这些UID的“名称”
3.在ListView上显示它们

您能帮我吗?我已经在任何地方搜索了教程,但找不到。预先谢谢你!

0 个答案:

没有答案