从 FirebaseListAdapter 中的 onItemClick 检索 Firebase 密钥
Retrieving the Firebase key from onItemClick in FirebaseListAdapter
我有一个 Firebase 数据库,我正在使用 push()
方法向数据库添加条目,从而生成随机密钥作为每个条目的参考。
在应用程序的一部分中,我使用 FirebaseListAdapter 将一些数据库条目填充到列表视图中。然后我在我的列表中实施 setOnItemClickListener
。我想在这里做的是 return 我点击的每个条目的参考。
//Firebase DB setup
mDatabaseStolen = FirebaseDatabase.getInstance().getReference().child(testing);
myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
DatabaseReference itemRef = mDatabaseStolen.getRef();
Toast toast = Toast.makeText(getActivity().getApplicationContext(), itemRef.getKey(), Toast.LENGTH_SHORT);
toast.show();
}
});
这里正在处理推送:
mDatabase.child("testing").push().setValue(newBike);
Firebase 数据:
"testing" : {
"-KTA7xijNrK1SK98rZns" : {
"color" : "Rjfu",
"frameSize" : 0,
"make" : "Ggg",
"other" : "Xhfhf",
"stolen" : false
},
"-KTABiJuH2-RXwmp0Rcu" : {
"color" : "Red",
"frameSize" : 0,
"make" : "Test ",
"other" : "No",
"stolen" : false
}
因此,当我单击列表中的项目时,我希望 return 引用 KTA7xijNrK1SK98rZns
或任何可能的内容。在第一个代码片段的吐司中,我 returning 是每次单击父引用中的 testing
字符串。
感谢任何帮助。
你说你有一个FirebaseListAdapter
。如果是这种情况,您可以在 adapter.getRef()
.
的位置获得对特定项目的引用
myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
DatabaseReference itemRef = adapter.getRef(position);
Toast toast = Toast.makeText(getActivity().getApplicationContext(), itemRef.getKey(), Toast.LENGTH_SHORT);
toast.show();
}
});
我有一个 Firebase 数据库,我正在使用 push()
方法向数据库添加条目,从而生成随机密钥作为每个条目的参考。
在应用程序的一部分中,我使用 FirebaseListAdapter 将一些数据库条目填充到列表视图中。然后我在我的列表中实施 setOnItemClickListener
。我想在这里做的是 return 我点击的每个条目的参考。
//Firebase DB setup
mDatabaseStolen = FirebaseDatabase.getInstance().getReference().child(testing);
myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
DatabaseReference itemRef = mDatabaseStolen.getRef();
Toast toast = Toast.makeText(getActivity().getApplicationContext(), itemRef.getKey(), Toast.LENGTH_SHORT);
toast.show();
}
});
这里正在处理推送:
mDatabase.child("testing").push().setValue(newBike);
Firebase 数据:
"testing" : {
"-KTA7xijNrK1SK98rZns" : {
"color" : "Rjfu",
"frameSize" : 0,
"make" : "Ggg",
"other" : "Xhfhf",
"stolen" : false
},
"-KTABiJuH2-RXwmp0Rcu" : {
"color" : "Red",
"frameSize" : 0,
"make" : "Test ",
"other" : "No",
"stolen" : false
}
因此,当我单击列表中的项目时,我希望 return 引用 KTA7xijNrK1SK98rZns
或任何可能的内容。在第一个代码片段的吐司中,我 returning 是每次单击父引用中的 testing
字符串。
感谢任何帮助。
你说你有一个FirebaseListAdapter
。如果是这种情况,您可以在 adapter.getRef()
.
myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
DatabaseReference itemRef = adapter.getRef(position);
Toast toast = Toast.makeText(getActivity().getApplicationContext(), itemRef.getKey(), Toast.LENGTH_SHORT);
toast.show();
}
});