にfirebaseから鍵を取り込むことができません: は、この例のような値ではない私はFirebaseListAdapterにキーを取得したいFirebaseListAdapter
はので、私はリストビューに「猫」と「犬」を示したいと思いますが、私はこのことをやる方法を知らないが、私はたくさんの検索をしたが、何も見つからなかった。
にfirebaseから鍵を取り込むことができません: は、この例のような値ではない私はFirebaseListAdapterにキーを取得したいFirebaseListAdapter
はので、私はリストビューに「猫」と「犬」を示したいと思いますが、私はこのことをやる方法を知らないが、私はたくさんの検索をしたが、何も見つからなかった。
デフォルトの実装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);
}
};
あなたはこのコードを使用することができ、それらのanimals
を表示するには、次のキーを取得します。 String
クラスの場合でも、YourClass
の代わりに使用することもできます。
希望します。
返信ありがとう、私はこれを試していないが、うまくいくように見える –
ありがとうございます。 –