Как добавить изображение Пикассо в ArrayList с помощью firebase - PullRequest
0 голосов
/ 23 октября 2019

Я хочу перечислить изображения list.add, хранящиеся в моей Firebase, используя listArray> list;.

Пожалуйста, дайте мне знать, если есть способ получить само изображение, а не адрес, сохраненный в базе данных огня вlistArray, без необходимости присоединять его через Picasso.

Мы также хотели бы пригласить вас отформатировать эти данные для следующего действия в Intent.putExtra ().

public class Menu2_1 extends AppCompatActivity {

    ListView listView;
    ImageView image;
    FirebaseDatabase database;
    DatabaseReference ref;
    ArrayList<String> list;
    ArrayAdapter<String> adapter;
    Jellyfish jellyfish;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu2_1);

        jellyfish = new Jellyfish();
        listView = findViewById(R.id.listView);
        image = findViewById(R.id.imageView);
        database = FirebaseDatabase.getInstance();
        ref = database.getReference("Jellyfish");
        list = new ArrayList<>();
        //adapter = new ArrayAdapter<Jellyfish>(this, R.layout.jellyfish_info, R.id.jellyfishinfo, list);

        adapter = new ArrayAdapter<String>(this, R.layout.jellyfish_info, R.id.jellyfishinfo, list);
        ref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull final DataSnapshot dataSnapshot) {
                for (DataSnapshot ds : dataSnapshot.getChildren()){
                    jellyfish = ds.getValue(Jellyfish.class);
                    list.add(jellyfish.getName() + "\n" + jellyfish.getSpot() + "\n" + jellyfish.getToxic()
                    + jellyfish.getImage());

                    Picasso.with(Menu2_1.this).load(jellyfish.getImage()).into(image);
                }
                listView.setAdapter(adapter);
                listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        Intent intent = new Intent(getApplicationContext(), Jellyfish_Page.class);
                        intent.putExtra("name", list.get(position));
                        startActivity(intent);
                    }
                });
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

    }
}
...