পিকাসো (অ্যান্ড্রয়েড) সম্পূর্ণ ইভেন্টগুলি কীভাবে শুনবেন?


92

পিকাসো থেকে বিল্ডার ব্যবহার করার সময় কীভাবে ইভেন্টগুলি শোনার কোনও উপায় আছে:

Picasso.with(getContext()).load(url).into(imageView);

আমি কল করতে requestLayout()এবং invalidate()পিতামাতার কাছে চেষ্টা করছি GridViewযাতে এটির আকারটি আবার আকারে পরিবর্তন হয়ে যায় তবে কীভাবে শ্রোতা বা কলব্যাক সেট করতে হয় তা আমি জানি না।

আমি দেখছি যে পিকাসোর ইভেন্টের রিপোর্টিংয়ের ত্রুটি রয়েছে, তবে সেখানে কি কোনও সাফল্য ইভেন্ট রয়েছে?

উত্তর:


272

Callbackঅনসেসেস এবং অনআরারের ইভেন্টগুলি পেতে আপনি একটি ব্যবহার করতে পারেন । আপনার অনুরোধে কেবল নতুন কলব্যাক যুক্ত করুন:

Picasso.with(getContext())
    .load(url)
    .into(imageView, new com.squareup.picasso.Callback() {
                        @Override
                        public void onSuccess() {

                        }

                        @Override
                        public void onError() {

                        }
                    });

তারপরে আপনি অনস্যাক্সেস কলব্যাকে যে কোনও পরিবর্তন এবং পরিবর্তন সম্পাদন করতে পারেন।


4
অনারার () কার্যকর করার সময় ত্রুটি চিত্রটি কীভাবে প্রদর্শিত হবে ??
জেস

4
.error(R.drawable.error_placeholder_image)ত্রুটি চিত্র সেট করতে ব্যবহার করুন
র‌্যাপ্টর

অনস্যাসেসের ভিতর থেকে আমি কীভাবে 'এই' প্রসঙ্গটি অ্যাক্সেস করতে পারি? আমাকে 'এই' প্রসঙ্গে কিছু পরিবর্তনশীল আপডেট করতে হবে এবং এছাড়াও আমি কীভাবে কলব্যাকের অভ্যন্তরে চিত্রটি দেখতে পারি? Thx
Sonoluminescence

4
এটি আপনার ক্লাসনাম.থিস.আপনার পরিবর্তনশীল @ সোনালুমিনেসেন্স
সোফিয়ান হাসেইনি

4
কোটলিনে এ কেমন লাগবে?
ড্যান 2899

31

যদি আপনাকে বিটম্যাপটি ভিউতে লোড হওয়ার আগে অ্যাক্সেস করতে হয় তবে ব্যবহার করে দেখুন:

private Target target = new Target() {
      @Override
      public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {       
      }
      @Override
      public void onBitmapFailed() {
      }
}

কলিং পদ্ধতিতে:

Picasso.with(this).load("url").into(target);

আদর্শভাবে আপনি লক্ষ্য বা বাস্তবতার সাথে ধারক অবজেক্টটিতে লক্ষ্য প্রয়োগ করেন।

আশাকরি এটা সাহায্য করবে


ইমিগভিউ কোথায়?
নূর হোসেন

@ নূর হোসেন যখন বিটম্যাপটি লোড করেন তখন চিত্র বিটম্যাপটি সেট করেন
ফ্যামফামফাম

6

উত্তর @Jas আপ প্রশ্ন MrEngineer13 এর উত্তর একটি মন্তব্য হিসাবে অনুসরণ (যেহেতু আমি কোনো উত্তর মন্তব্যের যথেষ্ট খ্যাতি হবে না), আপনি ব্যবহার করা উচিত error()নিবন্ধনের পূর্বে পদ্ধতি Callbackinto(), পদ্ধতি উদাহরণস্বরূপ:

Picasso.with(getContext())
    .load(url)
    .error(R.drawable.error_placeholder_image)
    .into(imageView, new com.squareup.picasso.Callback() {
        @Override
        public void onSuccess() {
            //Success image already loaded into the view
        }

        @Override
        public void onError() {
            //Error placeholder image already loaded into the view, do further handling of this situation here
        }
    }
);

6

স্কোয়ারটি ইদানীং টার্গেট ক্লাস আপডেট করেছে এবং এখন ওভাররাইড করার আরও পদ্ধতি রয়েছে ( onPrepareLoadএবং onBitmapFailed):

Target target = new Target() {
    @Override
    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
    }

    @Override
    public void onBitmapFailed(Drawable errorDrawable) {

    }

    @Override
    public void onPrepareLoad(Drawable placeHolderDrawable) {

    }
};

এবং আপনার এখনও ব্যবহার করতে হবে:

Picasso.with(context).load(url).into(target);

3
 private final Callback mImageCallback = new Callback() {
        @Override
        public void onSuccess() {
            startPostponedEnterTransition();
        }

        @Override
        public void onError() {
            startPostponedEnterTransition();
        }
    };

RequestCreator creator = Picasso.with(getActivity()).load(list.get(position).getId());
creator.into(imageView, mImageCallback);

0

এটা চেষ্টা কর

       Picasso.with(context)
            .load(services.get(position).getImageInactive())
            .into(holder.icon, new Callback() {
                @Override
                public void onSuccess() {
                    holder.imageLoad.setVisibility(View.GONE);
                }

                @Override
                public void onError() {
                    holder.icon.setImageResource(R.drawable.ic_error_image_load);
                }
            });

0

অন্যান্য উত্তরের পরিপূরক হিসাবে, আসল চিত্রের দর্শনটি কোথায় ব্যবহার করবেন তা আপনি জানেন না, যেমন ImageView myIV:

মূল:

Picasso.with(activity).load(url).into(myIV);

নতুন (ভিতরে onBitmapLoaded()এর new Target()):

public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
    myIV.setImageBitmap(bitmap);
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.