预期 3 个参数,但找到 1 个
Posted
技术标签:
【中文标题】预期 3 个参数,但找到 1 个【英文标题】:Expected 3 arguments but found 1 【发布时间】:2021-04-18 22:56:21 【问题描述】:我是安卓编程新手。我正在尝试创建商店详细信息活动。我目前正在使用用户日志记录显示 Cloud Firestore 数据/添加到 Fire Store 数据功能中。作为下一部分,我希望能够从应用程序更新云火石中的数据。现在我正试图将单个数据提取到单个活动中。我遇到了这个错误,我不知道如何解决它。 谢谢 我的列表活动类setUpRecyclerView函数;
Query query = todoRef.whereEqualTo("email", mAuth.getCurrentUser().getEmail());
FirestoreRecyclerOptions<ToDoItem> options = new FirestoreRecyclerOptions.Builder<ToDoItem>().setQuery(query,ToDoItem.class).build();
adapter = new ToDoAdapter(options);
我在这个函数中得到这个错误:
adapter = new ToDoAdapter(options);
^
required: FirestoreRecyclerOptions<ToDoItem>,Context,List<ToDoItem>
found: FirestoreRecyclerOptions<ToDoItem>
reason: actual and formal argument lists differ in length
将此代码添加到我的适配器类 ProductsAdaptor 函数时出现此错误
public ToDoAdapter(@NonNull FirestoreRecyclerOptions<ToDoItem> options
,Context mCtx, List<ToDoItem> productList)
super(options);
this.mCtx = mCtx;
this.productList = productList;
当我从这个函数应用程序中取出List<Product> productList
代码时工作正常。
我该如何解决这个问题?
【问题讨论】:
您是否尝试过将构造函数与错误要求您提供的参数一起使用?如果您收到此错误,ToDoAdapter
一定不能有一个带有一个 FirestoreRecyclerOptions<ToDoItem>
参数的构造函数。
不,我没有说过我是 andorid 编程的新手。你能把代码贴在这里吗?
另外我更新了我的代码我发布了错误的函数
Firebase 实时数据库和 Cloud Firestore 是两个独立的数据库。请仅使用相关标签标记您的问题,不要同时使用两者。
请向我们展示您的ToDoAdapter
的内容。也请回复@AlexMamo
【参考方案1】:
要使构造函数正常工作,它需要提供正确类型和数量的参数。此构造函数接受 3 个参数。你只提供了一个。创建它所期望的另外两个(Context
对象和List<TodoItem>
对象)并将它们添加到您在构造ToDoAdapter
时提供的参数中。更具体地说,在代码中:
adapter = new ToDoAdapter(options, missingArgument1GoesHere, missingArgument2GoesHere);
【讨论】:
缺少的参数是 Context mCtx List以上是关于预期 3 个参数,但找到 1 个的主要内容,如果未能解决你的问题,请参考以下文章
颤振`预期有 6 个位置参数,但找到了 1 个。` 尝试添加缺少的参数
TypeScript 2.6.1错误TS2554:预期2-3个参数,但得到1