Picasso IllegalArgumentException Цель не должна быть нулевой: получить данные из Firebase - PullRequest
1 голос
/ 21 апреля 2019

У меня постоянно есть эта проблема в моем коде. Из приведенного ниже кода, я думаю, я уже проверил, является ли значение load () нулевым. Если он нулевой, код никогда не должен доходить до Пикассо.

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

Это база данных, из которой я хочу получить:

https://ibb.co/ZNTSFb0 enter image description here

Чтобы немного объяснить мой код:

  • Проверьте, имеет ли dataSnapshot1 значение изображения;
  • если да, то проверьте, соответствует ли dishName этому блюду;
  • если да, то поместите фотографию на изображение.

код:

mdatabaseReferece1 = FirebaseDatabase.getInstance().getReference("Post");
mdatabaseReferece1.addValueEventListener(new ValueEventListener() {
    @Override
        for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()){
            if (dataSnapshot1.child("image").getValue()!=null){
                if (dataSnapshot1.child("dishName").getValue().toString().equals(newDish)) {
                    ImageView imageView = findViewById(R.id.gallery_photo);
                    Picasso.get().load(dataSnapshot1.child("image").getValue().toString()).into(imageView);
                    gallery.addView(view);}
            }
        }

    }

Мне не нужно использовать Пикассо, если есть какой-то другой более простой способ. Все, что я хочу иметь в своем приложении, это список совпавших фотографий, извлеченных из базы данных.

1 Ответ

0 голосов
/ 21 апреля 2019

Измените следующее:

if(dataSnapshot1.child("image").getValue()!=null)

В это:

if(dataSnapshot1.hasChild("image")){ /* code */ }

Из документов:

hasChild(String path) Может использоваться, чтобы определить, есть ли у этого DataSnapshot данные в определенном месте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...