私はfirebaseでいくつかの文字列を取り出しています。これらはすべて'imageUID'
タグの下に保存され、このimageUIDを使って画像を表示します。ここでFirebaseDatabaseから文字列をフェッチしてループします。の仕方?
は、私はそれを取得しています方法は次のとおりです。私は使用して示された各すべての画像を表示したい
private void doSomethingWithPicasso(String imageUIDh, ImageView target){
Picasso.with(getBaseContext())
.load(imageUIDh)
.error(R.drawable.ic_warning_black_24dp)
.into(target, new Callback() {
@Override
public void onSuccess() {
progressBar.setVisibility(View.INVISIBLE);
}
@Override
public void onError() {
Toast.makeText(getBaseContext(), "Error occurred while loading images. Please retry.", Toast.LENGTH_SHORT).show();
}
});
}
:
databaseReference.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Map<String, String> newRequest = (Map<String, String>) dataSnapshot.getValue();
imageUID = newRequest.get("imageUID");
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
これは私が画像を表示するために、上記のフェッチimageUID
を使用している方法ですimagesUIDs
は私のアプリケーションでデータベースから取得されましたが、起こっているのは最後のimageUIDだけが画像を表示するのに使用されていて、すべてではありません。
私はこの文字列をループし、各文字列を一つずつ表示してイメージを表示することを考えていましたが、その方法はわかりません!これを達成するためのより良い方法はありますか?
を試してみてくださいここからいくつかの助けを得ることができます' ')('あなたonChildAddedで、あなたはそれを見ることができますすべてのimageUIDを出力します。これらの項目をビューに追加しようとするなら、 'onChildAdded()'の中でそれを行う必要があります。 –
私はfirebaseに保存されたこれらの 'imageuids'を使って画像を表示しようとしています。問題は、最後の画像だけが毎回表示され、すべてではなくなってしまうことです。 –
共有したコードに画像が表示されません。変数を設定するだけで、他の場所で使うことができます。コードがすべての画像を扱うようにするには、その使用法を* onChildAdded()に移動する必要があります。 [問題を再現する完全な、最小限の例](http://stackoverflow.com/help/mcve)を共有すると、最高のヘルプが得られることに注意してください。 –