मैं सर्वर से छवियों को लोड करने के लिए व्यूपेजर का उपयोग कर रहा हूं। जब इसे स्वाइप किया जाता है तो पहली छवि बार-बार दिखाई जाती है। मैंने ब्राउज़र में यूआरएल की जांच की और यह अलग-अलग छवियां दिखाता है। फिर मैंने छवियों को खींचने योग्य से लोड करने का प्रयास किया। यहां अंतिम छवि है बार-बार लोड किया गया। नीचे पूरा कोड है:

ImagePagerAdapter.java:

 public class ImagePagerAdapter extends PagerAdapter {
    TaxiDisplayData taxiDisplayData;
    LinearLayout pager_lyt;
    ImageView imageView;
    LayoutInflater layoutInflater;
    Context context;
    String category;
    int count;
    LinearLayout linearLayout;
    View view;
    ImageLoaderConfiguration config;
    ArrayList images;

    public ImagePagerAdapter(Context context,String ctgry){
        Log.e("I","T");
        config = new ImageLoaderConfiguration.Builder(context).build();
        ImageLoader.getInstance().init(config);
        images =new ArrayList();
        this.context=context;
        this.category=ctgry;
        if (category.equalsIgnoreCase("taxi")){
            count= taxiDisplayData.getInstance().imagecount();
        }
        layoutInflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    }
    @Override
    public int getCount() {

        Log.e("Count",Integer.toString(count));
        return count;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        view=layoutInflater.inflate(R.layout.srch_dsply_pager,container,false);
        linearLayout=(LinearLayout) view.findViewById(R.id.pgr_lyt);
         imageView=(ImageView) view.findViewById(R.id.image1);
        if (category.equalsIgnoreCase("taxi"))
        {  images =taxiDisplayData.getInstance().getArrayList();
            if(count!=0){

                Iterator iterator= images.iterator();
                while (iterator.hasNext())
                {
                    Log.e("I","Z");
                    Picasso.with(context).load("http://example.com/xxxx/"+(String) iterator.next())
                            .placeholder(R.drawable.doctors)
                            .fit().into(imageView);
                }
            }}
        container.addView(view);
        return view;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View)object);
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        Log.e("I","f");
        return view==object;
    }}

Srch_dsply_pager.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/pgr_lyt">
<ImageView
    android:layout_width="match_parent"
    android:layout_height="@dimen/prsnl_img_dimen"
    android:id="@+id/image1"
    android:scaleType="fitXY"
   />
</LinearLayout>
0
jobin 7 जून 2017, 13:39
मैंने इसे लॉग करने की कोशिश की। इसने अलग url दिखाया। मैंने इसे ब्राउज़र में आज़माया। यह अलग-अलग इमेज कैसे करता है
 – 
jobin
7 जून 2017, 13:44
मैं इसे फिर से कोशिश करूंगा और लिंक पोस्ट करूंगा
 – 
jobin
7 जून 2017, 13:45
ई/छवियां: छवि/वाहन/14961331963718886.png ई/छवियां: छवि/वाहन/14961331963722322.png ई/छवियां: छवि/वाहन/14961331963736603.png ई/छवियां: छवि/वाहन/14961331963718886.png ई/छवियां: छवि/ वाहन/14961331963722322.png ई/छवियां: छवि/वाहन/14961331963736603.png
 – 
jobin
7 जून 2017, 13:48
इसे 6 बार लॉग किया जा रहा है। लेकिन आकार केवल 3 . है
 – 
jobin
7 जून 2017, 13:49

1 उत्तर

सबसे बढ़िया उत्तर

instantiateItem() एक दृश्य बनाता है और उसे दृश्य पेजर में जोड़ता है। अपने स्रोत में आप पूरे सरणी को फिर से चालू कर रहे हैं, केवल अंतिम लोड करें और दृश्य वापस करें। इसके बजाय जबकि आपके पास कुछ ऐसा होना चाहिए

String url = images.get(position);
Picasso.load(url).into(imageview);
1
Lajos Arpad 7 जून 2017, 14:49