我正在使用此数据库:
这是我的ListView
:
我将如何从Firebase获取这些项目的ID。假设我单击“电工”按钮,则列表视图将显示最近的可用电工,但是我想通过在以下位置获取列表视图项目的ID来显示工人的全部详细信息。下一个活动。我尝试了以下方法:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
Intent i = new Intent(available_worker.this,WorkerProfile.class);
String workerid = FirebaseAuth.getInstance().getUid();
但是我认为它没有得到参考,所以我没有得到ID。 如何解决?
答案 0 :(得分:0)
有一个非常简单的解决方案。由于您有一个list
,因此您可以按照以下代码行添加数据:
list.add(elec.getFname().toString() + " " + elec.getLname().toString() + "\n" + elec.getAddress().toString());
// ^
您还应该有一个按键列表。因此,当您遍历DataSnapshot
将数据添加到列表中时,在该行代码旁边,还应将密钥添加到另一个列表中,如下所示:
listOfKey.add(ds.getKey());
并在key
中获得相应的onItemClick
,如下所示:
String key = listOfKey.get(position);