在视图中,寻呼机仅在android中重复显示来自Json的最后图像
我在android中为图像滑动显示图像时遇到问题。我从JSON获取图像,但总是只显示索引的最后一个图像,假设我可以在android中一次又一次地移动视图页面,显示相同的图像以进行图像滑动。 我不知道是什么问题,我几乎尽了全力,但我真的找不到那个错误。 有人帮我解决问题吗 代码:在视图中,寻呼机仅在android中重复显示来自Json的最后图像,android,android-layout,android-studio,android-viewpager,android-imageview,Android,Android Layout,Android Studio,Android Viewpager,Android Imageview,我在android中为图像滑动显示图像时遇到问题。我从JSON获取图像,但总是只显示索引的最后一个图像,假设我可以在android中一次又一次地移动视图页面,显示相同的图像以进行图像滑动。 我不知道是什么问题,我几乎尽了全力,但我真的找不到那个错误。 有人帮我解决问题吗 代码: 很高兴能够帮助您解决我的问题您可以将ArrayList更改为ArrayList,因为您的代码似乎不需要HashMap 接下来,在for循环中,您将图像路径添加到HashMap中,而不是直接将其添加到数组列表中 然后在Pa
很高兴能够帮助您解决我的问题您可以将
ArrayList
更改为ArrayList
,因为您的代码似乎不需要HashMap
接下来,在for
循环中,您将图像路径添加到HashMap
中,而不是直接将其添加到数组列表中
然后在PagerAdapter的getView()
中,使用slideShowImages从ArrayList
获取图像。获取(位置)
,你能解释一下为什么你使用HashMap
的ArrayList
而不是String
的ArrayList
并按位置获取图像吗。你的代码中的问题是你对每个图像都使用了相同的image\u标记,因此,添加到HashMap
的最后一个图像将在我不使用HashMap之前显示,我使用model设置并获取图像,但该图像也是我获取的相同图像明白我的意思吗?当你在HashMap
中使用相同的Key
来处理图像时,它会返回最后一张图像,只需尝试记录HashMap
大小它将是1如何更改我的代码来获取所有图像你能告诉我的朋友吗,真的非常感谢,我犯了一个小错误,让人头疼。太棒了。很高兴为您提供帮助:)非常感谢。添加答案来解释问题所在并不是一个好的做法,而是做一件事发布一个新问题或用细节更新此问题:)谢谢您的评论,伙计
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);
}*/
}
[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
}