标签:firebaseui android firebase firebase-realtime-database
我有一个Firebase数据库,我正在使用push()方法向DB添加条目,从而生成随机密钥作为每个条目的参考.
在应用程序的一部分中,我使用FirebaseListAdapter将一些数据库条目填充到列表视图中.然后我在我的列表上实现setOnItemClickListener.我想在这里做的是返回我点击的每个条目的引用.
//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
}
因此,当我点击列表中的项目时,我希望返回参考KTA7xijNrK1SK98rZns或其他任何内容.在第一个代码片段中的toast中,我返回的是每次单击父引用时的测试字符串.
任何帮助赞赏.
解决方法:
你说你有一个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();
}
});
标签:firebaseui,android,firebase,firebase-realtime-database 来源: https://codeday.me/bug/20190925/1816713.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。