当前位置: 首页 > 面试题库 >

如何在具有Firebase结果的ListView中检索位置

权韬
2023-03-14
问题内容

没有 使用FirebaseAdapter或没有任何Firebase- UI依赖关系,我现在已经完全将其设为本机,但是在此行尝试传递额外内容时遇到了问题:

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

必需的数据库参考,找到了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库,否则不能使用method。您无法DatabaseReferenceArrayAdapter对象获取对象。此类内的任何方法都不会返回DatabaseReference对象。实现此目的的唯一方法是使用Firebase-
UI
库。



 类似资料:
  • python字符串前面的b前缀是什么意思?解释'b'的意思,但不回答这个问题。 当然,这个问题的有效答案将被表决为已解决。 从shell可以使用复杂语句查找我的IP地址: 现在我希望这个语句,或者任何语句,在Python中执行。因为该语句具有各种特定的标记,所以我只需写入文件,并将文件读入变量 我检查了的内容与上面的语句完全相同。现在我用Python执行这个命令: 结果是一个元组,我只需要内容:

  • 问题内容: 我使用以下代码从ListView的MainActivity工具栏中搜索: 但是现在我将Listview移至一个片段,如何将适配器从片段传递到主活动?如何更新打字?还有什么比通过适配器更好的方法了吗?先感谢您 问题答案: 更好的方法是使用EventBus。在这种情况下,我们必须将某些数据从活动传递到片段,这确实很有用。 为了使用EventBus,您需要定义一个POJO类,如下所示: 现在

  • 问题内容: 我有一列datetime类型,我只想从中检索日期。反正有这样做吗? 以前它是一个纪元值,我将其转换为datetime。 这是一个示例结果: 我尝试了以下命令,但结果为负/零 问题答案: 您可以使用DATE函数。 例子 您只能通过strftime获得一天,

  • 问题内容: 有没有一种方法可以使用列名而不是Python中的列索引来检索SQL结果列值?我正在将Python 3与mySQL一起使用。我正在寻找的语法非常类似于Java构造: 我的表有很多列,要不断为需要访问的每一列编制索引确实是很痛苦的。此外,索引使我的代码难以阅读。 谢谢! 问题答案: 该MySQLdb的模块具有DictCursor: 像这样使用它(摘自使用Python DB- API编写My

  • 在下面的代码中,如何获取被点击按钮的< code>Button位置? }

  • 问题内容: 我在Android应用程序上使用Firebase,我知道如何使用EventListener从数据库中获取数据。到目前为止。 我的问题是:我有一个ReciclerView,它显示数据中的信息,但仅当我修改数据库时才显示。如果我关闭该应用程序然后再次打开,它什么也不会显示。然后,我进行一些修改,并将所有元素显示在容器中。 有什么方法可以加载数据而无需等待事件,而是手动获取? 先感谢您。 更