首页 > 解决方案 > 如何在 Android 的一个 FirestoreRecyclerAdapter 中包含两个模型类曲目和艺术家?

问题描述

我的 android 项目有两个模型- Track 和 Artist
Track用于获取Track相关的信息,Artist用于获取Artist相关的详细信息。

以下是每个模型的示例代码:
Track.class

public class Track {
    private int track_ID;
    private String title;
    private String artist;
    private String songWriter;
    private String lyrics;
    private String album;
    private String language;
    private int views;
    private int year;
    private String albumArt;
    private String videoURL;
    private String shareURL;

    public Track(){
        //Empty Constructor
    }

艺术家类

private int artist_ID;
    private String name;
    private boolean verified;
    private String artistProfilePic;

    public Artist(){
        //Empty Constructor
    }

在下面的代码中,我只能使用 Track Model

public class SongAdapter extends FirestoreRecyclerAdapter<Track, SongAdapter.SongHolder> {

我的问题是我无法在一个 FirestoreRecyclerAdapter 中同时使用这两种模型。

我该怎么做?

标签: javaandroidfirebasegoogle-cloud-firestorefirebaseui

解决方案


FirebaseUI 中的适配器只能显示来自单个集合的同类结果。

如果要显示来自多个集合的结果,或显示来自单个集合的异构结果,则必须构建自己的适配器。这并不像某些人想象的那么复杂。试一试,如果遇到困难,请回帖。

如果您想了解它如何从数据库加载数据并将其保存在内存中,我建议您查看FirestoreArrayFirebaseUI 中的类。


推荐阅读