我有一个简单的Firebase数据库,如下所示:
使用下面的代码,我设法使用ListView
将列表aaa,bbb,ddd和zzz显示为FirebaseListAdapter
。
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);
,我获得了List的名称。是否有可能获得相应的密钥而不是获取列表的名称?
让我们说,而不是aaa
来获得-Kc571TvSsoiYuMjPZ6d
。我真的需要那把钥匙。
提前致谢!
答案 0 :(得分:0)
//创建一个全局字符串的Arraylist说KEYS
{
for ( DataSnapshot postSnapshot: snapshot.getChildren())
{
KEYS.add(postSnapshot.getKey());
}
} 现在KEYS将包含所有键