【问题标题】:Picasso "Target must not be null" (using Firebase database) [duplicate]毕加索“目标不能为空”(使用 Firebase 数据库)[重复]
【发布时间】:2019-09-15 21:41:26
【问题描述】:

我用链接创建了一个 Firebase 数据库(这些是指向我的存储的链接,带有一些图像)

存储:

我尝试连接到我的数据库并获取 Page_1 的值,例如通过按下按钮

 private DatabaseReference mRef;

 button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mRef = FirebaseDatabase.getInstance().getReference().child("Chapters").child("Chapter 1").child("Page_1");

                mRef.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        String value = String.valueOf(dataSnapshot.getValue());

                        textView.setText(value);
                        Picasso.get().load(value).into(page_holder);
                    }

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

                    }
                });

            }
        });

但是当我运行我的应用程序时出现了一个异常,毕加索一行说:

目标不能为空。

如果我删除了我的毕加索并且只将 Page_1 的值放入 textView,它会显示正确的值(这意味着我实际上得到了我的值并且它不为空 )

(对不起,黑色图案,我认为这些行可能包含一些重要的东西,比如数据库的名称(很可能不是,但我是这样的菜鸟))

附言 我注意到的一件事是,当我将 Page_1 的值放入 TextView 时,会有一个一点延迟。所以我猜毕加索试图在加载之前获得“目标”。 我试着做一个检查器之类的东西

String value_from_database = textView.getText().toString();
    if (TextUtils.isEmpty(value_from_database)){
                       textView.setText("Image is loading|Doesn't exist");
                    }
                    else {
                        Picasso.get().load(value_from_database).into(page_holder);
                    }

但我还是失败了。 Picasso 显示相同的异常/错误。

请告诉我如何解决?

【问题讨论】:

标签: java android firebase picasso


【解决方案1】:

正如错误所说:

“目标不能为空。”

这意味着在您的情况下,目标是page_holder,即null。它与您用于从数据库中获取数据的代码无关,这是正确的。

要解决这个问题,请确保初始化您的page_holder 对象,使其不能是null,并且您可以正确使用Picasso

【讨论】:

  • 是的,它有帮助,非常感谢。我的布局中的某些名称确实犯了一个错误。
【解决方案2】:

这意味着 page_holder 为空。

【讨论】:

    猜你喜欢
    • 2016-06-18
    • 2019-09-10
    • 2021-06-04
    • 1970-01-01
    • 2016-11-16
    • 2016-10-26
    • 2016-12-21
    • 1970-01-01
    相关资源
    最近更新 更多