【问题标题】:How to display the keys from a Firebase Database with Android?如何使用 Android 显示 Firebase 数据库中的密钥?
【发布时间】:2017-02-06 17:37:00
【问题描述】:

我有一个简单的 Firebase 数据库,如下所示:

使用下面的代码,我设法使用 FirebaseListAdapter 将列表 aaa、bbb、ddd 和 zzz 显示到 ListView

listDatabaseReference = userDatabaseReference.child("Lists");
firebaseListAdapter = new FirebaseListAdapter<String>(this, String.class, android.R.layout.simple_list_item_1, listDatabaseReference) {
        @Override
        protected void populateView(View v, String string, int position) {
            ((TextView)v.findViewById(android.R.id.text1)).setText(string);
        }
    };
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(firebaseListAdapter);

我还添加了一个setOnItemClickListener,当点击一个项目时,Toast 出现如下:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
            String string = firebaseListAdapter.getItem(position);
            Toast.makeText(getApplicationContext(), string, Toast.LENGTH_SHORT).show();
        }
    });

使用此代码:String string = firebaseListAdapter.getItem(position);,我得到了列表的名称。有没有可能,而不是获取列表的名称,而是获取相应的键?

让我们说,而不是aaa 得到-Kc571TvSsoiYuMjPZ6d。我真的需要那把钥匙。

提前致谢!

【问题讨论】:

    标签: android firebase firebase-realtime-database listadapter


    【解决方案1】:

    在您的 addValueEventlistener 中添加以下内容

    //创建一个字符串的Arraylist全局说KEYS

    {

        for (  DataSnapshot  postSnapshot: snapshot.getChildren()) 
          {
           KEYS.add(postSnapshot.getKey());
    
          }    
    

    } 现在 KEYS 将包含所有的键

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多