当毕加索无法使用jsoup加载图像时如何使用默认图像

问题描述

如果遇到相同的错误,请帮助我调整或指导我如何加载特定图像

我正在尝试使用 jsoup 获取一些图像,但有些图像无法加载,因为它无法加载其中一些图像,因此应用程序崩溃并出现此错误

这是我在活动中使用 jsoup 的地方

        protected Void doInBackground(Void... voids) {
            try {
                String url = "https://www.blueprint.ng";

                Document doc = Jsoup.connect(url).get();

                Elements data = doc.select("div.pt-cv-wrapper");
                int size = data.size();
                Log.d("doc","doc: "+doc);
                Log.d("data","data: "+data);
                Log.d("size",""+size);
                for (int i = 0; i < size; i++) {
                    String imgurl = data.select("a")
                            .select("img")
                            .eq(i)
                            .attr("src");

                    String title = data.select("h4")
                            .select("a")
                            .eq(i)
                            .text();

                    String source = data.select("h4")
                            .select("a")
                            .eq(i)
                            .attr("href");

                    String date = data.select("div.jeg_Meta_date")
                            .select("a")
                            .eq(i)
                            .text();

                    String hint = data.select("div.pt-cv-content")
                            .eq(i)
                            .text();

                    

                    itemParses.add(new ItemParse(imgurl,title,source,date,hint));
                    Log.d("items","img: " + imgurl + " . title: " + title + " . source: " + source + " . date: " + date + " . hint: " + hint);
                }

            } catch (IOException e) {
                e.printstacktrace();
            }


            return null;
        }

我的 AdapterParse.java


    private ArrayList<ItemParse> itemParses;
    private Context context;

    public AdapterParse(ArrayList<ItemParse> itemParses,Context context) {
        this.itemParses = itemParses;
        this.context = context;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_parse,parent,false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder,int position) {
        ItemParse itemParse = itemParses.get(position);
        holder.textView.setText(itemParse.getTitle());
        holder.textView2.setText(itemParse.getDate());
        holder.textView3.setText(itemParse.getHint());
        Picasso.get().load(itemParse.getimgurl()).into(holder.imageView);

    }

    @Override
    public int getItemCount() {
        return itemParses.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        ImageView imageView;
        TextView textView;
        TextView textView2;
        TextView textView3;


        public ViewHolder(@NonNull View view) {
            super(view);
            imageView = view.findViewById(R.id.imageView);
            textView = view.findViewById(R.id.textView);
            textView2 = view.findViewById(R.id.textView2);
            textView3 = view.findViewById(R.id.textView3);
            view.setonClickListener(this);
        }

        @Override
        public void onClick(View view) {
            int position = getAdapterPosition();
            ItemParse itemParse = itemParses.get(position);

            Intent intent = new Intent(context,DetailActivity.class);
            intent.putExtra("title",itemParse.getTitle());
            intent.putExtra("source",itemParse.getSource());
            intent.putExtra("date",itemParse.getDate());
            intent.putExtra("hint",itemParse.getHint());
            intent.putExtra("image",itemParse.getimgurl());
            context.startActivity(intent);
        }
    }

    public void setFilter (ArrayList<ItemParse> newList) {
        itemParses = new ArrayList<>();
        itemParses.addAll(newList);
        notifyDataSetChanged();
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)