Java 错误:找不到适用于setQuery的方法(com.google.firebase.firestore.Query,Class<;Note>;)
我正在尝试从FirebaseFirestore获取数据,并在cardview中实现它 这是我的代码Java 错误:找不到适用于setQuery的方法(com.google.firebase.firestore.Query,Class<;Note>;),java,android,firebase,Java,Android,Firebase,我正在尝试从FirebaseFirestore获取数据,并在cardview中实现它 这是我的代码 public class MainActivity extends AppCompatActivity { private FirebaseFirestore db = FirebaseFirestore.getInstance(); private CollectionReference notebookRef = db.collection("Notebook");
public class MainActivity extends AppCompatActivity {
private FirebaseFirestore db = FirebaseFirestore.getInstance();
private CollectionReference notebookRef = db.collection("Notebook");
//notebookref is my collection name in firebase.
private NoteAdapter adapter;
TextView tv_id;
TextView tv_attend;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_id=findViewById(R.id.tv_id);
tv_attend=findViewById(R.id.tv_attend);
setUpRecyclerView();
}
private void setUpRecyclerView() {
Query query = notebookRef.orderBy("attend", Query.Direction.DESCENDING);
FirebaseRecyclerOptions<Note> options = new FirebaseRecyclerOptions.Builder<Note>()
.setQuery(query, Note.class)
.build();
adapter = new NoteAdapter(options);
RecyclerView recyclerView = findViewById(R.id.rv_one);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
}
@Override
protected void onStart() {
super.onStart();
adapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
adapter.stopListening();
}
}
公共类MainActivity扩展了AppCompatActivity{
私有FirebaseFirestore db=FirebaseFirestore.getInstance();
私人收藏参考notebookRef=db.collection(“笔记本”);
//notebookref是我在firebase中的收藏名称。
专用记事本适配器;
TextView tv_id;
TextView电视节目;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_id=findviewbyd(R.id.tv_id);
tv_出席=findviewbyd(R.id.tv_出席);
setUpRecyclerView();
}
私有void setUpRecyclerView(){
Query Query=notebookRef.orderBy(“出席”,Query.Direction.DESCENDING);
FirebaseRecyclerOptions选项=新建FirebaseRecyclerOptions.Builder()
.setQuery(查询,Note.class)
.build();
适配器=新的NoteAdapter(选项);
RecyclerView RecyclerView=findViewById(R.id.rv_one);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(新的LinearLayoutManager(本));
recyclerView.setAdapter(适配器);
}
@凌驾
受保护的void onStart(){
super.onStart();
adapter.startListening();
}
@凌驾
受保护的void onStop(){
super.onStop();
adapter.stopListening();
}
}
我得到以下错误:
error: no suitable method found for setQuery(com.google.firebase.firestore.Query,Class<Note>)
错误:找不到适用于setQuery的方法(com.google.firebase.firestore.Query,类)
似乎我有以下问题:FirebaseRecyclerOptions.Builder().setQuery(query,Note.class.build()
有关于如何处理此问题的任何提示吗?请检查您导入的
查询。你应该进口
import com.google.firebase.firestore.Query;
更多细节
orderBy(String field, Query.Direction direction)
创建并返回按指定字段额外排序的新查询,可以选择按降序而不是升序排序
参考文献
相应地确认您的依赖关系
dependencies {
// FirebaseUI for Firebase Realtime Database
implementation 'com.firebaseui:firebase-ui-database:6.2.0'
// FirebaseUI for Cloud Firestore
implementation 'com.firebaseui:firebase-ui-firestore:6.2.0'
// FirebaseUI for Firebase Auth
implementation 'com.firebaseui:firebase-ui-auth:6.2.0'
// FirebaseUI for Cloud Storage
implementation 'com.firebaseui:firebase-ui-storage:6.2.0'
}
参考我不得不改变:
FirebaseRecyclerOptions选项=新建FirebaseRecyclerOptions.Builder()
致:
FirestoreRecyclerOptions=new FirestoreRecyclerOptions.Builder()hi@jai您可以添加有关如何获得此错误的步骤吗?这将帮助人们更好地理解问题,并以更有效的方式帮助您。你可以在这里阅读更多关于如何形成一个好问题的内容。这一行有没有错误代码>?不,我在那一行没有任何错误。setQuery(query,Note.class)这是我唯一有错误的一行,是否需要此依赖项?实现'com.android.support:design:28.0.0',导入时,行-Query Query=notebookRef.orderBy(“出席”,Query.Direction.DESCENDING);显示错误-错误:找不到符号变量方向Orderby(字符串字段,Query.Direction),,,这正是我尝试的,它显示的是相同的错误-错误:找不到符号变量方向重新检查导入,我编辑了它。另外,如果你的应用程序没有显示查询错误,那么它应该不会显示任何查询错误。方向作为枚举。一旦我更改导入,查询工作正常,但它会再次返回到我的第一个错误。setQuery(Query,Note.class)显示相同的错误是的,我有所有这些依赖项,它仍然显示此错误-错误:在此行找不到符号变量方向-Query Query=notebookRef.orderBy(“出席”,Query.Direction.DESCENDING);