1

View Pagerで画像が表示されないため、JSONから画像URLを取得しましたが、Image Loaderで画像を表示する際にエラーが発生しました。View Pagesで画像スライダの画像がアンドロイドに表示されない

MODEL:

public class ZoomimageModel { 
    private int id; 
    private String imageUrl; 
    public void ZoomimageModel(String imageUrl) { 
     this.imageUrl=imageUrl; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public int getId() { 
     return id; 
    } 

    public String getImageUrl() { 
     return imageUrl; 
    } 

    public void setImageUrl(String imageUrl) { 
     this.imageUrl = imageUrl; 
    } 
} 

ビューページャアダプタ:

import android.content.Context; 
import android.support.v4.view.PagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 

import com.journaldev.navigationdrawer.Model.ListModel; 
import com.journaldev.navigationdrawer.Model.ZoomimageModel; 
import com.journaldev.navigationdrawer.R; 
import com.journaldev.navigationdrawer.app.YelloPage; 
import com.nostra13.universalimageloader.core.DisplayImageOptions; 
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; 

import java.util.ArrayList; 

/** 
* Created by admin on 5/5/2016. 
*/ 
public class ZoomAdapter extends PagerAdapter 
{ 
    LayoutInflater inflator; 
    ImageView imgDisplay; 
    Context context; 
    ArrayList<ZoomimageModel> slideShowImages; 
    DisplayImageOptions options; 

    public ZoomAdapter(ArrayList<ZoomimageModel> slideShowImages,Context context) 
    { 
     this.context=context; 
     this.slideShowImages =slideShowImages; 
     options = new DisplayImageOptions.Builder() 
       .showStubImage(R.drawable.b2) 
       .showImageForEmptyUri(R.drawable.b2) 
       .showImageOnFail(R.drawable.b2) 
       .build(); 
    } 
    @Override 
    public int getCount() 
    { 
     return slideShowImages.size(); 
    } 

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

    @Override 
    public Object instantiateItem(ViewGroup container, 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); 
// BitmapFactory.Options options = new BitmapFactory.Options(); 
// options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
// Bitmap bitmap = BitmapFactory.decodeFile(_imagePaths.get(position), options); 
// imgDisplay.setImageBitmap(bitmap); 
// 

     System.out.println("ImageUrl---------------------"+slideShowImages.get(position)); 



     YelloPage.imageLoader.displayImage(String.valueOf(slideShowImages.get(position)), imgDisplay, options); 
     ((ViewPager) container).addView(imgDisplay, 0); 
     return imgDisplay; 

    } 

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

CODE

public class Zoomproduct_Activity extends AppCompatActivity { 
    private Toolbar toolbar; 
    LinearLayout buynow, cart; 
    private Button cartbtn, buybtn; 
    private ProgressDialog pDialog; 
    DisplayImageOptions options; 
    String productpath; 
    private static String TAG = Zoomproduct_Activity.class.getSimpleName(); 
    private final static String DATA = "data"; 
    private final static String PRODUCT_IMAGES = "product_images"; 
    private ImageView firstimages, multipleimages; 
    private TextView offerpercentage; 
    String singleproduct; 
    LinearLayout horizontalimage; 
    int selectedimageviewpos = 0; 
    int positionOfDeviceImage; 
    ImageView[] ii; 
    String offpercent; 
    HashMap < String, String > resultp = new HashMap < String, String >(); 
    JSONObject pimages; 
    String images; 
    String offerprice; 
    String original; 
    JSONArray multipleimage; 
    JSONObject alertObj; 
    int startdate; 
    int endate2; 
    FrameLayout frame; 
    int currentindex; 
    ViewPager viewPager; 
    ZoomAdapter adapter; 
    String singlepro, multipleimg, productpaths, sellers; 
    ArrayList <ZoomimageModel> imgs; 
    // ArrayList<HashMap<String, String>> adlist 
    @Override 
    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(imgs, Zoomproduct_Activity.this); 
     // Binds the Adapter to the ViewPager 
     viewPager.setAdapter(adapter); 


    } 




    public void singleproduct() { 


     String productpath = productpaths; 
     String sid = sellers; 
     String cindex = singlepro; 
     int cindexs = Integer.parseInt(cindex); 
     String multiimg = multipleimg; 
     JSONArray multipleimage = null; 
     try { 
      multipleimage = new JSONArray(multiimg); 



      horizontalimage = (LinearLayout) findViewById(R.id.gallery); 
      // final RelativeLayout r1=(RelativeLayout)findViewById(R.id.relative_border); 
      // frame=(FrameLayout)findViewById(R.id.framelayout); 
      ii = new ImageView[multipleimage.length()]; 
      if (multipleimage.length() > 0) { 
       for (int j = 0; j < multipleimage.length(); j++) { 
        pimages = multipleimage.getJSONObject(j); 
        JSONObject oneimage = multipleimage.getJSONObject(j); 

        multipleimages = (ImageView) findViewById(R.id.singleimage); 
        ii[j] = new ImageView(Zoomproduct_Activity.this); 
        ii[j].setScaleType(ImageView.ScaleType.FIT_CENTER); 
        LinearLayout.LayoutParams image = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
        image.width = 100; 
        image.height = 100; 
        image.setMargins(10, 0, 0, 0); 
        ii[j].setPadding(10, 10, 10, 10); 
        ZoomimageModel zoom = new ZoomimageModel(); 
        String oneimg = oneimage.getString("original_res"); 
        String singleiamges = productpath + sid + '/' + oneimg; 

        imgs = new ArrayList <ZoomimageModel>(); 
        final String multimgs = pimages.getString("original_res"); 
        zoom.setImageUrl(singleiamges); 
        imgs.add(zoom); 




        String[] img2 = multimgs.split("\\."); 
        String imagone = productpath + sid + '/' + img2[0] + '(' + '2' + '0' + '0' + ')' + '.' + img2[1]; 

        // displayimages=productpath + alertObj.getString("seller_id")+ '/' + multimgs[]; 
        YelloPage.imageLoader.displayImage(imagone, ii[j], options); 
        // YelloPage.imageLoader.displayImage(singleiamges, multipleimages, options); 
        ii[j].setLayoutParams(image); 
        horizontalimage.addView(ii[j]); 



       } 



      } else { 

      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

    } 

    private void showpDialog() { 
     if (!pDialog.isShowing()) 
      pDialog.show(); 
    } 

    private void hidepDialog() { 
     if (pDialog.isShowing()) 
      pDialog.dismiss(); 
    } 
} 

Logcatエラー:

05 - 06 02: 22: 35.850 3760 - 3760/com.journaldev.navigationdrawer I/System.out: ImageUrl-- -- -- -- -- -- -- -- -- -- - com.journaldev.navigationdrawer.Model.ZoomimageModel @2471087 
05 - 06 02: 22: 35.854 3760 - 4038/com.journaldev.navigationdrawer E/ImageLoader: UIL doesn 't support scheme(protocol) by default [[email protected]]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...)) 
java.lang.UnsupportedOperationException: UIL doesn 't support scheme(protocol) by default [[email protected]]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...)) 
at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromOtherSource(BaseImageDownloader.java: 280) 
at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStream(BaseImageDownloader.java: 99) 
at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.getImageStream(BaseImageDecoder.java: 98) 
at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.decode(BaseImageDecoder.java: 74) 
at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java: 265) 
at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java: 238) 
at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java: 136) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1112) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: 587) 
at java.lang.Thread.run(Thread.java: 818) 
05 - 06 02: 22: 35.897 3760 - 3915/com.journaldev.navigationdrawer W/EGL_emulation: eglSurfaceAttrib not implemented 
05 - 06 02: 22: 35.897 3760 - 3915/com.journaldev.navigationdrawer W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xdf3db200, error = EGL_SUCCESS 

Image Loaderでエラーが発生しました。いずれかの問題を解決するのに役立ちます。 ありがとうございます。

+0

を返します。イメージは最後のインデックスのみを表示しています – Nivethitha

答えて

1
slideShowImages.get(position) 

それは私がslideShowImages.get(位置).getImageUrl()画像が表示されていますが、そのすべてが表示されません変更した後、私は間違いslideShowImage.get(位置を)やったZoomimageModelないIMAGEURL

+0

slideShowImages.get(position)を変更した後、slideShowImage.get(position)を間違えてしまいました.getImageUrl()イメージが表示されていますが、 – Nivethitha

関連する問題