-1

Ich habe Probleme beim Anzeigen von Bildern für Image Slider in Android.Ich hole die Bilder aus JSON aber immer nur das letzte Bild des Index anzeigen, Angenommen, wenn ich die verschieben kann Sehen Sie Pager immer wieder dasselbe Bild an, das für das Bildgleiten in Android anzeigt. Ich weiß nicht, was das Problem ist, versuchte ich fast wie ich kann, aber ich konnte diesen Fehler wirklich nicht finden. Wer hilft mein Problem zu lösen.In View Pager nur die letzten Bilder von Json wiederholt in Android

Code:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_zoomproduct_); 
    options = new DisplayImageOptions.Builder() 
     .showStubImage(R.drawable.b2) 
     .showImageForEmptyUri(R.drawable.b2) 
     .showImageOnFail(R.drawable.b2) 
     .build(); 


    /******************** this is for single page product ***********************/ 

    Intent singleproductpage = getIntent(); 
    singlepro = singleproductpage.getStringExtra("currentinedx"); 
    Intent multipleimages = getIntent(); 
    multipleimg = multipleimages.getStringExtra("multipleimages"); 
    Intent productpath = getIntent(); 
    productpaths = productpath.getStringExtra("productpath"); 
    Intent seller = getIntent(); 
    sellers = seller.getStringExtra("sellerid"); 
    // pDialog = new ProgressDialog(Zoomproduct_Activity.this); 
    // pDialog.setMessage("Please wait..."); 
    // pDialog.setCancelable(false); 
    singleproduct(); 
    viewPager = (ViewPager) findViewById(R.id.pager); 
    // Pass results to ViewPagerAdapter Class 
    adapter = new ZoomAdapter(Zoomproduct_Activity.this, adlist); 
    // Binds the Adapter to the ViewPager 
    viewPager.setAdapter(adapter); 
    adapter.notifyDataSetChanged(); 
} 

multipleimage = new JSONArray(multiimg); 
if (multipleimage.length() > 0) { 
    for (int i = 0; i < multipleimage.length(); i++) { 

     JSONObject singleimg = multipleimage.getJSONObject(i); 
     /*oneimg = singleimg.getString("original_res"); 
     String singleImages= productpath+sid+ '/'+ oneimg;*/ 
     // zoom.setImageUrl(productpaths+sellers+ '/'+singleimg.getString("original_res")); 
     // imgs.add(zoom); 
     String imagesone = productpaths + sellers + '/' + singleimg.getString("original_res"); 
     map.put(TAG_IMAGE, imagesone); 
     adlist.add(map); 
     String imgs1 = String.valueOf(adlist); 
     //String zoom1=String.valueOf(imgs1); 
     // Log.d(zoom1,"zoom"); 
     Log.d(imgs1, "ararlist"); 

    } 
} 

Adapter:

public class ZoomAdapter extends PagerAdapter { 
    LayoutInflater inflator; 
    ImageView imgDisplay; 
    Context context; 
    // ArrayList<ZoomimageModel> slideShowImages; 
    // ArrayList<String> slideShowImages; 
    private ArrayList < HashMap < String, String >> slideShowImages; 
    HashMap < String, String > plotimages; 

    DisplayImageOptions options; 

    public ZoomAdapter(Context context, ArrayList < HashMap < String, String >> slideShowImages) { 
     this.context = context; 
     this.slideShowImages = slideShowImages; 
     options = new DisplayImageOptions.Builder() 
      .showStubImage(R.drawable.slip1) 
      .showImageForEmptyUri(R.drawable.b2) 
      .showImageOnFail(R.drawable.ic_drawer) 
      .build(); 
    } 
    @Override 
    public int getCount() { 
     return slideShowImages.size(); 
    } 
    public int getItemPosition(Object object) { 
     return POSITION_NONE; 
    } 


    // @Override 
    /* public boolean isViewFromObject(View view, Object object) { 
      return view == ((ImageView) object); 
     }*/ 

    // @Override 
    public Object instantiateItem(ViewGroup container, final int position) { 
     inflator = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View viewLayout = inflator.inflate(R.layout.productzoomrow, container, 
      false); 
     imgDisplay = (ImageView) viewLayout.findViewById(R.id.imgDisplay); 
     // ZoomimageModel zooms=slideShowImages.get(position); 
     plotimages = slideShowImages.get(position); 

     // System.out.println("ImageUrl---------------------"+slideShowImages.get(position).getImageUrl()); 
     System.out.println("ImageUrl---------------------" + plotimages.get(Zoomproduct_Activity.TAG_IMAGE)); 
     // YelloPage.imageLoader.displayImage(zooms.getImageUrl(), imgDisplay, options); 
     YelloPage.imageLoader.displayImage(plotimages.get(Zoomproduct_Activity.TAG_IMAGE), imgDisplay, options); 

     container.addView(viewLayout); 
     return viewLayout; 
    } 



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

    @Override 
    public boolean isViewFromObject(View view, Object object) { 
     return view == object; 
    } 


    /* @Override 
    public void destroyItem(ViewGroup container, int position, Object object) 
    { 
     ((ViewPager) container).removeView((ImageView) object); 
    }*/ 
} 

Logcat Bilder zeigen:

[05 - 07 02: 06: 15.445 26970: 26970 D/[{ 
       original_res = http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-171452579105.jararlist 

        [05 - 07 02: 06: 15.445 26970: 26970 D/[{ 
           original_res = http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-791452579106.jararlist 

            [05 - 07 02: 06: 15.445 26970: 26970 D/[{ 
               original_res = http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-971452579106.jararlist 

                [05 - 07 02: 06: 15.445 26970: 26970 D/[{ 
                   original_res = http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-341452579106.jararlist 

                    [05 - 07 02: 06: 15.445 26970: 26970 D/[{ 
                       original_res = http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-891452579106.jararlist 

                        [05 - 07 02: 06: 15.445 26970: 26970 D/[{ 
                           original_res = http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-441452579106.jararlist 
                            05 - 07 02: 06: 15.445 26970 - 26970/com.journaldev.navigationdrawer D/lenovo - a6000 - 171452579105. jpeg: images 
                           05 - 07 02: 06: 15.445 26970 - 26970/com.journaldev.navigationdrawer D/lenovo - a6000 - 791452579106. jpeg: images 
                           05 - 07 02: 06: 15.446 26970 - 26970/com.journaldev.navigationdrawer D/lenovo - a6000 - 971452579106. jpeg: images 
                           05 - 07 02: 06: 15.446 26970 - 26970/com.journaldev.navigationdrawer D/lenovo - a6000 - 341452579106. jpeg: images 
                           05 - 07 02: 06: 15.446 26970 - 26970/com.journaldev.navigationdrawer D/lenovo - a6000 - 891452579106. jpeg: images 
                           05 - 07 02: 06: 15.446 26970 - 26970/com.journaldev.navigationdrawer D/lenovo - a6000 - 441452579106. jpeg: images 
                           05 - 07 02: 06: 15.448 754 - 7094/system_process V/WindowManager: Adding window Window { 
                            39992643 u0 com.journaldev.navigationdrawer/com.journaldev.navigationdrawer.Activity.Zoomproduct_Activity 
                           } 
                           at 4 of 9(after Window { 
                            2 fb8c08e u0 com.journaldev.navigationdrawer/com.journaldev.navigationdrawer.Activity.singleshooppingcart 
                           }) 
                           05 - 07 02: 06: 15.464 26970 - 26970/com.journaldev.navigationdrawer I/System.out: ImageUrl-- -- -- -- -- -- -- -- -- -- - http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-441452579106.jpeg 
                            05 - 07 02: 06: 15.477 26970 - 26970/com.journaldev.navigationdrawer I/System.out: ImageUrl-- -- -- -- -- -- -- -- -- -- - http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-441452579106.jpeg 
                            05 - 07 02: 06: 15.535 26970 - 27049/com.journaldev.navigationdrawer W/EGL_emulation: eglSurfaceAttrib not implemented 
                           05 - 07 02: 06: 15.536 26970 - 27049/com.journaldev.navigationdrawer W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xe2266e00, 
                           error = EGL_SUCCESS 
                           05 - 07 02: 06: 15.792 754 - 780/system_process I/ActivityManager: Displayed com.journaldev.navigationdrawer/.Activity.Zoomproduct_Activity: +358 ms 
                           05 - 07 02: 06: 16.062 715 - 715/? W/SurfaceFlinger : couldn 't log to binary event log: overflow. 
                           05 - 07 02: 06: 20.092 26970 - 26970/com.journaldev.navigationdrawer I/System.out: ImageUrl-- -- -- -- -- -- -- -- -- -- - http: //192.168.0.33/cartwebsite3/cdn-images/prd/1/lenovo-a6000-441452579106.jpeg 
                            05 - 07 02: 06: 20.256 754 - 1067/system_process D/WifiService: acquireWifiLockLocked: WifiLock { 
                             NlpWifiLock type = 2 binder = android.os.BinderProxy @997c048 
                            } 

Glad zu schätzen mein Problem

+0

Können Sie erklären, Warum verwenden Sie 'ArrayList' von' HashMap' stattdessen verwenden Sie einfach 'ArrayList' von' String' und erhalten das 'image' nach Position. –

+0

Problem in Ihrem Code ist, dass Sie die gleiche 'IMAGE_TAG' für jedes Bild verwenden, also wird das letzte Bild, das zur' HashMap' hinzugefügt wird, angezeigt. –

+0

Bevor ich HashMap nicht benutze, habe ich das Modell benutzt, um das Bild zu erstellen das ist auch ich habe die gleichen Bilder – Nivethitha

Antwort

2

Sie zu lösen, können dieändernbis ArrayList<String> wie es scheint HashMap ist nicht von Ihrem Code erforderlich.

Next in Ihrem for Schleife Sie, wo Sie Bildpfad zu HashMap hinzufügen, anstatt dass direkt hinzufügen ArrayList,

Und dann in getView() Ihrer PagerAdapter das Bild erhalten von ArrayList<>slideShowImages.get(position) verwenden,

+0

Danke Kumpel, wirklich Vielen Dank, ich habe kleinen Fehler Kopfschmerzen bekommen. – Nivethitha

+0

Es ist großartig, jetzt satyen. – Nivethitha

+0

Großartig. Glücklich zu helfen :) –

Verwandte Themen