2017-02-02 12 views
0

Firebaseをしばらく試してみることにしました。FirebaseListAdapterがFirebaseデータベースからリストビューに値を設定していません。

なぜ私のListViewが入力されていないのか分かりません。 アダプタがクエリを検索する方法を理解できないようです。たとえば、firebaseデータベースから "Artist"と "Title"の文字列が必要です。

マイ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; 
} 

My活動

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

どれでも彼はlpは高く評価されます!

答えて

0

ある場所にアダプタを作成すると、その場所の下にある直接の子ノードが設定されます。

アダプターをデータベースのルートに接続すると、子ノードはissue_1になります。また、データモデルissue_1にはartisttitleというプロパティはありません。コードの作業を取得するために

最も簡単な方法は、ツリー内の1レベル下のアダプタを添付することです:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
DatabaseReference issue1 = ref.child("issue_1"); 

myAdapter = new FirebaseListAdapter<Song>(player.this, Song.class, 
              R.layout.song_item, issue1) { 
+0

私はこれをやってみましたが、エラーが発生します。 "com.google.firebase.database.DatabaseException:タイプjava.lang.Stringのオブジェクトをcom.puxil.mtrl.Songに変換できません" お寄せいただきありがとうございます! –

関連する問題