猿问

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

我正在尝试从火库中获取图像。因此,当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,然后应用程序徽标将自动设置为图像视图。


噜噜哒
浏览 105回答 3
3回答

呼如林

您可以尝试以下代码。如果没有帮助,请让我更多地了解Earnings_Freebies模型。确保您使用的是毕加索的最新依赖项。@Overrideprotected 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);    }}

慕丝7291255

你可以试试这种方式: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);        }}

30秒到达战场

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();                }            });
随时随地看视频慕课网APP

相关分类

Java
我要回答