我一直在研究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);
}
}
我的数据库:
任何帮助将不胜感激!
答案 0 :(得分:0)
在某个位置创建适配器时,将使用该位置下的直接子节点填充该适配器。
将适配器附加到数据库的根目录,因此您的子节点为{{shop.user.name}}
。在您的数据模型中,issue_1
没有issue_1
和artist
属性。
使代码工作的最简单方法是将适配器连接到树中较低的一级:
title