Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android FirebaseRecyclerOptions不能与以下代码一起应用_Android_Firebase_Firebase Realtime Database_Android Recyclerview_Firebaseui - Fatal编程技术网

Android FirebaseRecyclerOptions不能与以下代码一起应用

Android FirebaseRecyclerOptions不能与以下代码一起应用,android,firebase,firebase-realtime-database,android-recyclerview,firebaseui,Android,Firebase,Firebase Realtime Database,Android Recyclerview,Firebaseui,我一直在编写以下代码。我想从firebase数据库中检索标题、价格、描述和图像视图,并将它们设置为我的变量。这样我就可以展示它们了。问题是,当我尝试运行项目时,它被停止了。我不确定我在代码中使用FirebaseOptions的方式。我认为这是一个出错的地方。任何建议都会有帮助 public class AllFragment extends Fragment { private RecyclerView allRecycler; private RecyclerView rec

我一直在编写以下代码。我想从firebase数据库中检索标题、价格、描述和图像视图,并将它们设置为我的变量。这样我就可以展示它们了。问题是,当我尝试运行项目时,它被停止了。我不确定我在代码中使用FirebaseOptions的方式。我认为这是一个出错的地方。任何建议都会有帮助

public class AllFragment extends Fragment {

    private RecyclerView allRecycler;
    private RecyclerView recyclerViewCatTwo;

    //Firebase

    private DatabaseReference mCatOneDatabase;
    private DatabaseReference mCatTwoDatabase;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View myview = inflater.inflate(R.layout.fragment_all, container, false);
        mCatOneDatabase = FirebaseDatabase.getInstance().getReference().child("CatOneDatabase");
        mCatTwoDatabase = FirebaseDatabase.getInstance().getReference().child("CatTwoDatabase");

        // Cat one Recycler

        allRecycler = myview.findViewById(R.id.recycler_all);
        LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false);
        layoutManager.setReverseLayout(true);
        layoutManager.setStackFromEnd(true);
        allRecycler.setHasFixedSize(true);
        allRecycler.setLayoutManager(layoutManager);

        //Cat two Recycler

        recyclerViewCatTwo = myview.findViewById(R.id.recycler_cattwo);
        LinearLayoutManager linearLayoutManagerCatTwo = new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false);
        linearLayoutManagerCatTwo.setStackFromEnd(true);
        linearLayoutManagerCatTwo.setReverseLayout(true);

        recyclerViewCatTwo.setHasFixedSize(true);
        recyclerViewCatTwo.setLayoutManager(linearLayoutManagerCatTwo);

        return myview;
    }

    @Override
    public void onStart() {
        super.onStart();

        FirebaseRecyclerOptions<Data> options =
                new FirebaseRecyclerOptions.Builder<Data>().setQuery(mCatOneDatabase,Data.class).build();
        FirebaseRecyclerAdapter<Data,CatOneViewHolder>adapterOne = new FirebaseRecyclerAdapter<Data,CatOneViewHolder>
                (
                     options

                ) {
            @NonNull
            @Override
            public CatOneViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_all,parent,false);
                CatOneViewHolder holder = new CatOneViewHolder(view);
                return holder;
            }

            @Override
            protected void onBindViewHolder(@NonNull CatOneViewHolder catOneViewHolder, int i, @NonNull final Data data) {
                catOneViewHolder.setTitle(data.getTitle());
                catOneViewHolder.setDescription(data.getDescription());
                catOneViewHolder.setImage(data.getImage());
                catOneViewHolder.setPrice(data.getPrice());

                catOneViewHolder.myview.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Intent intent = new Intent(getActivity(),CatOneDetailsActivity.class);
                        intent.putExtra("title",data.getTitle());
                        intent.putExtra("description",data.getDescription());
                        intent.putExtra("price",data.getPrice());
                        intent.putExtra("image",data.getImage());
                        startActivity(intent);
                    }
                });
            }

 

如果您尝试在
onBindViewHolder
方法中记录
data.getTitle()
数据,是否打印出了它?

    private String image;
    private String title;
    private String description;
    private String price;
    private String id;

    public Data(){


    }

    public Data(String image, String title, String description, String price, String id) {
        this.image = image;
        this.title = title;
        this.description = description;
        this.price = price;
        this.id = id;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }