为了账号安全,请及时绑定邮箱和手机立即绑定

毕加索显示错误路径一定不为空?

毕加索显示错误路径一定不为空?

噜噜哒 2022-09-14 16:43:52
我正在尝试从火库中获取图像。因此,当firebase中没有图像时,我希望我的应用程序徽标将设置在那里。但我的应用程序正在崩溃并将错误扔进日志猫。我尝试使用如果-否则条件。以及成功和错误方法。但工作不正常。private static final String Earnings_Freebies = "EARNINGS_FREEBIES";    private Earnings_Freebies list; @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.earnings_freebies);list = (Earnings_Freebies) getIntent().getExtras().getSerializable(Earnings_Freebies);        if (TextUtils.isEmpty(list.getmImageView())){            m_EF_ImageView.setImageResource(R.drawable.app_logo);            mProgressBarEF.setVisibility(View.GONE);        }        Picasso.with(getApplicationContext())                .load(list.getmImageView())                .into(m_EF_ImageView, new Callback() {                    @Override                    public void onSuccess() {                        mProgressBarEF.setVisibility(View.GONE);                        mFailedImage.setVisibility(View.GONE);                    }                    @Override                    public void onError() {                        mProgressBarEF.setVisibility(View.GONE);                        mFailedImage.setVisibility(View.VISIBLE);                    }                });我想要当有错误。或者我忘记将图像放入firebase,然后应用程序徽标将自动设置为图像视图。
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

您可以尝试以下代码。如果没有帮助,请让我更多地了解Earnings_Freebies模型。


确保您使用的是毕加索的最新依赖项。


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.earnings_freebies);


    list = (Earnings_Freebies) getIntent().getExtras().getSerializable(Earnings_Freebies);


    if (list == null && TextUtils.isEmpty(list.getmImageView())){

        m_EF_ImageView.setImageResource(R.drawable.app_logo);

        mProgressBarEF.setVisibility(View.GONE);


        Picasso.with(getApplicationContext())

                .load(R.mipmap.ic_launcher) // can also be a drawable

                .into(m_EF_ImageView);

    } else {

        Picasso.with(getApplicationContext())

                .load(list.getmImageView())

                .placeholder(R.mipmap.ic_launcher) // can also be a drawable

                .into(m_EF_ImageView);

    }

}


查看完整回答
反对 回复 2022-09-14
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

你可以试试这种方式:


private static final String Earnings_Freebies = "EARNINGS_FREEBIES";


    private Earnings_Freebies list;


 @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.earnings_freebies);


        list = (Earnings_Freebies) getIntent().getExtras().getSerializable(Earnings_Freebies);


        if (list != null && list.getmImageView() != null && !TextUtils.isEmpty(list.getmImageView())){

            Picasso.with(getApplicationContext())

                .load(list.getmImageView())

                .into(m_EF_ImageView, new Callback() {

                    @Override

                    public void onSuccess() {

                        mProgressBarEF.setVisibility(View.GONE);

                        mFailedImage.setVisibility(View.GONE);

                    }


                    @Override

                    public void onError() {

                        mProgressBarEF.setVisibility(View.GONE);

                        mFailedImage.setVisibility(View.VISIBLE);


                    }

                });

        }else{

              Picasso.with(getApplicationContext())

                .load(R.drawable.app_logo)

                .placeholder(R.drawable.app_logo)

                .into(m_EF_ImageView);

        }

}


查看完整回答
反对 回复 2022-09-14
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

1)毕加索支持下载占位符和错误占位符作为可选功能。


2)如果加载图像失败,将使用错误可绘制。在这种情况下,临时占位符图像将被放置在 .error() 方法中的错误可绘制图像替换,你可以在其中显示应用的图标图像,以防出现错误。


  Picasso.with(this).load("https://someImageURL")

                  .error(R.mipmap.ic_launcher) // Your app's icon image displayed on error

                  .placeholder(R.drawable.user_placeholder) // some placeholder image

                  .into(imageView, new Callback() {

                @Override

                public void onSuccess() {

                    Log.d("TAG", "onSuccess");

                }


                @Override

                public void onError() {

                    Toast.makeText(getApplicationContext(), "An error occurred", Toast.LENGTH_SHORT).show();

                }

            });


查看完整回答
反对 回复 2022-09-14
  • 3 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信