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

标签 java firebase firebase-realtime-database

我正在工作没有 Firebase-UI 或 FirebaseListAdapter。

我已经制作了自己的自定义适配器,现在当我需要对我单击的位置进行 getKey() 以获得用户 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);

哪里

mRootReference = FirbaseDatabase.getInstance().getReference();

getAdapter(Context);是我的自定义适配器

 public DataAdapter getAdapter(Context adapterContext) {
        return new DataAdapter(adapterContext,getmList());
    }

现在,我需要这里 mRootReference = getAdapter(mContext).getItem(position)获取用户的位置,以便在我拥有的额外内容中传递用户的 uid

intent.putExtra("uid", mRootReference.getKey());

有没有办法不使用 getRef() 来做到这一点?

最佳答案

mRootReference = FirbaseDatabase.getInstance().getReference();

我非常关心下面的代码。

错误

mRootReference = getAdapter(mContext).getItem(position)

int mPositon = adapter.getRef(position);

然后是对数据库节点的引用。

StringKey = mRootReference.child(...).child(mPositon).getKey();

你的意图额外

intent.putExtra("uid", StringKey);

关于java - 有没有办法不在 ListView 位置使用 getRef() 来获取当前单击用户的 getKey() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52099890/

相关文章:

java - 减去 BigDecimal 而不向上舍入

ios - React-Native、IOS、Firebase - 由于 "loop",无法分发到 App Store

javascript - 子键的 Firebase 查询

android - 根据一组类别检索数据

java - Firebase 返回 null 而不是数据

java - spring 如何将参数注入(inject)到 Controller 方法中

java - 尽管在 Java 中被声明为基类型,如何限制同一对象之间的操作

java - Android 构建变体调试给出 java.lang.NoClassDefFoundError

javascript - firebase 功能中的 Puppeteer 无法启动 chrome

firebase - 错误 "Try replacing the reference to the instance member with a different "