gpt4 book ai didi

java - 如何使用 Firebase 结果检索 ListView 中的位置

转载 作者:行者123 更新时间:2023-11-29 08:26:48 25 4
gpt4 key购买 nike

使用FirebaseAdapter 或任何Firebase-UI 依赖项,我现在已经完全原生了,但我在此行尝试传递额外内容时遇到问题:

mRootDatabase = getAdapter(mContext).getItem(position);

Required DatabaseReference , Found UserPojo

public void clickListItems(ListView listView,final DatabaseReference mRootDatabase) {
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();
mRootDatabase = getAdapter(mContext).getItem(position);
Intent intent = new Intent(mContext, UserEdit.class);
intent.putExtra("uid", mRootDatabase.getKey());
intent.putExtra("Name",getAdapter(mContext).getItem(position).getName());
intent.putExtra("Email", getAdapter(mContext).getItem(position).getEmail());
intent.putExtra("Pay", getAdapter(mContext).getItem(position).getPay());
intent.putExtra("LastCon", getAdapter(mContext).getItem(position).getLastCon());
intent.putExtra("FirstCon", getAdapter(mContext).getItem(position).getFirstCon());
mContext.startActivity(intent);
}
});

}

FirebaseListAdapter 中,您可以使用 getRef() 来更快地执行此操作,但我想知道没有它如何实现相同的方法,因为我的应用程序没有实现任何FirebaseAdapters ,我不想再次重做所有代码

编辑:

这就是我得到适配器的方式

 public ArrayAdapter<UserPojo> getAdapter(Context adapterContext) {
return new ArrayAdapter<UserPojo>(adapterContext,android.R.layout.simple_list_item_1,getmList());
}

谢谢!

最佳答案

要解决这个问题,您需要更改以下代码行:

mRootDatabase = getAdapter(mContext).getItem(position);

mRootDatabase = adapter.getRef(position);

其中 adapter 变量是您用来显示数据的实际适配器。

编辑:

您不能使用 getRef() 方法,除非您使用的是 Firebase-UI 库。您无法从 ArrayAdapter 对象获取 DatabaseReference 对象。没有 the methods在此类中返回一个 DatabaseReference 对象。实现此目的的唯一方法是使用 Firebase-UI图书馆。

关于java - 如何使用 Firebase 结果检索 ListView 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52081205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com