有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法使用firestore回收器适配器从firestore获取数据获取空的回收器视图

我无法从firestore获取数据,我没有收到任何错误,也没有应用程序崩溃

依赖项使用:

执行官网。firebase ui:firebase ui firestore:7.1.1'

执行官网。谷歌。firebase:firebase firestore:22.0.0'

我的firestore规则:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
       allow read, write;
    }
  }
}

我的适配器:

import 安卓.util.Log;
import 安卓.view.LayoutInflater;
import 安卓.view.View;
import 安卓.view.ViewGroup;
import 安卓.widget.TextView;

import 安卓x.annotation.NonNull;
import 安卓x.recyclerview.widget.RecyclerView;

import com.firebase.ui.firestore.FirestoreRecyclerAdapter;
import com.firebase.ui.firestore.FirestoreRecyclerOptions;

public class Adapter extends FirestoreRecyclerAdapter<Information, Adapter.nameHolder> {

    public Adapter(@NonNull FirestoreRecyclerOptions<Information> options) {
        super(options);
    }

    @Override
    protected void onBindViewHolder(@NonNull nameHolder holder, int position, @NonNull Information model) {
        holder.myName.setText(model.getMyName());
        Log.e("hi",model.getMyName());
    }

    @NonNull
    @Override
    public nameHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.name_card,parent,false);
        return new nameHolder(v);
    }

    class nameHolder extends RecyclerView.ViewHolder{
        TextView myName;

        public nameHolder(@NonNull View itemView) {
            super(itemView);
            myName = itemView.findViewById(R.id.myName);
        }
    }
}

主要类别:

import 安卓x.appcompat.app.AppCompatActivity;
import 安卓x.recyclerview.widget.LinearLayoutManager;
import 安卓x.recyclerview.widget.RecyclerView;

import 安卓.os.Bundle;
import 安卓.util.Log;
import 安卓.widget.TextView;

import com.firebase.ui.firestore.FirestoreRecyclerOptions;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.firestore.CollectionReference;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.Query;

public class allNames extends AppCompatActivity {

    private TextView nameType;
    private RecyclerView myRecyclerView;
    private FirebaseAuth fAuth;
    private String userId;
    private FirebaseFirestore firebaseFirestore = FirebaseFirestore.getInstance();
    private CollectionReference collectionReference = firebaseFirestore.collection("Hi");
    private Adapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all_names);
        nameType = findViewById(R.id.nameType);
        myRecyclerView = findViewById(R.id.myRecyclerView);
        /*fAuth = FirebaseAuth.getInstance();
        userId = fAuth.getCurrentUser().getUid();*/
        setUpRecyclerView();
    }

    private void setUpRecyclerView(){
        Query query = collectionReference.orderBy("priority",Query.Direction.DESCENDING);

        FirestoreRecyclerOptions<Information> options = new FirestoreRecyclerOptions.Builder<Information>()
                .setQuery(query,Information.class).build();

        adapter = new Adapter(options);

        myRecyclerView.setHasFixedSize(true);
        myRecyclerView.setLayoutManager(new LinearLayoutManager(this));
        myRecyclerView.setAdapter(adapter);


    }

    @Override
    protected void onStart() {
        super.onStart();
        adapter.startListening();
    }

    @Override
    protected void onStop() {
        super.onStop();
        adapter.stopListening();
    }
}

我只想从firestore取名字

我们能做些什么


共 (0) 个答案