2017-05-07 10 views

答えて

2

デフォルトの実装FirebaseListAdapterは、アダプタの構築時に指定したクラスのgetValue()を呼び出します。 parseSnapshotを無効にすると、DataSnapshotのそれぞれの部分がpopulateView()に渡されます。

FirebaseListAdapter<YourClass> firebaseListAdapter = new FirebaseListAdapter<YourClass>(this, YourClass.class, android.R.layout.simple_list_item_1, yourDatabaseReference) { 
     @Override 
     protected void populateView(View v, YourClass yourClass, int position) { 
      TextView textView = (TextView) v.findViewById(android.R.id.text1); 
      String animal = this.getRef(position).getKey(); 
      textView.setText(animal); 
     } 
    }; 

YourClassは、あなたのモデルクラスである:

FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(
     this, 
     String.class, 
     android.R.layout.simple_list_item_1, 
     databaseReference 
) { 
    @Override 
    protected String parseSnapshot(DataSnapshot snapshot) { 
     return snapshot.getKey(); 
    } 

    @Override 
    protected void populateView(View v, String model, int position) { 
     TextView textView = (TextView) v.findViewById(android.R.id.text1); 
     textView.setText(model); 
    } 
}; 
+0

ありがとうございます。 –

1

あなたはこのコードを使用することができ、それらのanimalsを表示するには、次のキーを取得します。 Stringクラスの場合でも、YourClassの代わりに使用することもできます。

希望します。

+0

返信ありがとう、私はこれを試していないが、うまくいくように見える –

関連する問題