Java 有没有办法不在listview位置使用getRef()来获取当前单击用户的getKey()?

Java 有没有办法不在listview位置使用getRef()来获取当前单击用户的getKey()?,java,firebase,firebase-realtime-database,Java,Firebase,Firebase Realtime Database,Im正在使用whitoutFirebase UI或FirebaseListAdapter 我已经制作了自己的自定义适配器,现在当我需要获取我单击的位置的key()以获取用户uid时,问题就出现了 我试过了,但没有成功 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?>

Im正在使用whitoutFirebase UI或FirebaseListAdapter

我已经制作了自己的自定义适配器,现在当我需要获取我单击的位置的key()以获取用户uid时,问题就出现了

我试过了,但没有成功

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
            Toast.makeText(mContext, "Clicked: " + getmList().get(position), Toast.LENGTH_SHORT).show();
             //Error comes here that says cannot apply UserPojo to DatabaseReference 
             mRootReference = getAdapter(mContext).getItem(position);
getAdapter(上下文)是我的自定义适配器

 public DataAdapter getAdapter(Context adapterContext) {
        return new DataAdapter(adapterContext,getmList());
    }
现在,我需要在这里
mRootReference=getAdapter(mContext).getItem(position)
获取用户的位置,以便在我拥有的额外文件中传递用户的uid

intent.putExtra("uid", mRootReference.getKey());
不使用getRef()进行此操作有什么想法吗

我很关心下面的代码

错误

mRootReference = getAdapter(mContext).getItem(position)

int mPositon = adapter.getRef(position);
然后创建对数据库节点的引用

StringKey = mRootReference.child(...).child(mPositon).getKey();
你的额外意图

intent.putExtra("uid", StringKey);

请不要发布重复的问题。但我不能使用getRef,因为我没有使用FirebaseListAdapter,我只使用了一个ListOk。根据标题,您还必须检索每个节点
id
。然后在单击任何项目时使用它进行查询。当您将数据添加到firebase时,此技巧使用
回调
函数。它将帮助您检索数据的id,并通过在节点表中添加id字段来更新相同的数据单击该项时,您将检索其节点
key/i
d,并使用它在firebase数据库中查询.child(mPositon)应返回什么?因为您使用的是自定义listAdapter,您必须将数据检索到
arrayList
。从这个数组中,您可以查询任何需要的内容。(分页将帮助您减少每个屏幕上的项目数)。让我找一个链接供您学习
StringKey = mRootReference.child(...).child(mPositon).getKey();
intent.putExtra("uid", StringKey);