我有問題顯示圖像的圖像滑塊android.I從JSON獲取圖像,但始終只顯示索引的最後一個圖像,假設如果我可以移動在Android中一次又一次查看傳呼機相同的圖像並顯示圖像滑動。 我不知道是什麼問題,我幾乎盡我所能,但我真的找不到那個錯誤。 任何人都可以幫助解決我的問題。In View Pager只顯示最後一張圖片來自Json反覆在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");
}
}
適配器:
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的showimages:
[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
}
很高興欣賞到解決我的問題
你能解釋一下爲什麼你要使用'HashMap'的'ArrayList'而不是你使用'String'的'ArrayList'並且按位置獲得'image'。 –
你的代碼中的問題是你對每個圖像使用相同的'IMAGE_TAG',所以添加到'HashMap'中的最後一個圖像將會顯示 –
在我不使用HashMap之前,我使用了模型來設置和獲取圖像,但是那一個也是我得到了相同的圖像 – Nivethitha