FirebaseListAdapter未从Firebase数据库Android填充Listview

时间:2017-02-02 03:08:07

标签: android firebase firebase-realtime-database firebaseui

我一直在研究Firebase,并决定尝试一下。

我似乎无法弄清楚为什么我的ListView没有填充。 我似乎无法理解适配器如何查找我们的查询,例如,我想要字符串"艺术家"和#34;标题"来自我的firebase数据库。

我的POJO:

public class Song {

private String mTitle;
private String mArtist;

public Song(String title, String artist) {
    mTitle = title;
    mArtist = artist;

}

public Song(){
    //Needed for firebase
}

public String getTitle() {
    return mTitle;
}

public String getArtist() {
    return mArtist;
}

public void setTitle(String title) {
    mTitle = title;
}

public void setArtist(String artist) {
    mArtist = artist;
}

我的活动

public class player extends AppCompatActivity {

FirebaseListAdapter<Song> myAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_player2);

    ListView songListView = (ListView) findViewById(R.id.songListView);
    DatabaseReference ref = FirebaseDatabase.getInstance().getReference();

    myAdapter = new FirebaseListAdapter<Song>(player.this, Song.class, R.layout.song_item, ref) {
        @Override
        protected void populateView(View view, Song song, int position) {

            TextView textView = (TextView) view.findViewById(android.R.id.text1);
            ((TextView)view.findViewById(R.id.titleItem)).setText(song.getTitle());
            ((TextView)view.findViewById(R.id.artistItem)).setText(song.getArtist());
        }
    };
    songListView.setAdapter(myAdapter);


}

}

我的数据库:

enter image description here

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

在某个位置创建适配器时,将使用该位置下的直接子节点填充该适配器。

将适配器附加到数据库的根目录,因此您的子节点为{{shop.user.name}}。在您的数据模型中,issue_1没有issue_1artist属性。

使代码工作的最简单方法是将适配器连接到树中较低的一级:

title