我正在工作失败 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()?
答案 0 :(得分:1)
mRootReference = FirbaseDatabase.getInstance().getReference();
我很担心下面的代码。
错误
mRootReference = getAdapter(mContext).getItem(position)
右
int mPositon = adapter.getRef(position);
然后引用您的数据库节点。
StringKey = mRootReference.child(...).child(mPositon).getKey();
您的意图额外
intent.putExtra("uid", StringKey);