Android 图像滑块图像未加载(ViewPager和毕加索)

Android 图像滑块图像未加载(ViewPager和毕加索),android,json,Android,Json,我正在使用毕加索+Viewpager创建图像滑块。 我能够根据图像大小(计数)滑动滑块。 但是,即使我可以用默认图像滑动屏幕,也没有加载阵列中的图像。 如果发现任何错误,请改正。我是android新手 提前谢谢 我的json数组是这样的 [ { "guid": "C410B2AA-EC03-29E4-F5C0-CB48510ED9E5", "id": "2", "created_on": "2016-05-17 13:13:22", "car_name": "Hundai", "model"

我正在使用毕加索+Viewpager创建图像滑块。 我能够根据图像大小(计数)滑动滑块。 但是,即使我可以用默认图像滑动屏幕,也没有加载阵列中的图像。 如果发现任何错误,请改正。我是android新手

提前谢谢

我的json数组是这样的

 [
 {
"guid": "C410B2AA-EC03-29E4-F5C0-CB48510ED9E5",
"id": "2",
"created_on": "2016-05-17 13:13:22",
"car_name": "Hundai",
"model": "C001",
"version": "i20",
"make_year": "2012",
"kms_driven": "2000",
"city": "Bangalore",
"pincode": "560072",
"expected_price": "200000",
"name": "Vishnu",
"email": "dreamvishnu@gmail.com",
"mobile": "9863265358",
"image": [
  {
    "newimage": "https://images.cardekho.com/car-images/carexteriorimages/large/Ford/Ford-Mustang/ford-mustang-exterior-047.jpg"
  },
  {
    "newimage": "https://www.enterprise.com/content/dam/global-vehicle-images/cars/FORD_FOCU_2012-1.png"
  },
  {
    "newimage": "https://imagecdn8.cartrade.com/img/800x600/car-data/big/bmw-i8-default-image.png"
  }
]
 }
 ]
在我的活动的postexecute中,我将适配器设置如下

 protected void onPostExecute(Void v) {

        try {
            JSONArray object = new JSONArray(result);
            ArrayList<String> items = new ArrayList<String>();

            try {
                for (int i = 0; i < object.length(); i++) {
                    JSONObject obj = object.getJSONObject(i);
                    vehicleSliderIamges = obj.getJSONArray("image");
                    guid = obj.getString("guid");
                    name = obj.getString("car_name");
                    model = obj.getString("version");
                    price = obj.getString("expected_price");
                    km = obj.getString("kms_driven");
                    fuel = obj.getString("model");
                    year = obj.getString("make_year");
                    location = obj.getString("city");
                    gear = obj.getString("name");



                }
                ArrayList<String> list = new ArrayList<String>();
                if (vehicleSliderIamges != null) {
                    int len = vehicleSliderIamges.length();
                    for (int i=0;i<len;i++){
                        list.add(vehicleSliderIamges.get(i).toString());
                    }
                }
                viewPagerAdapter = new ViewPagerAdapter(SecondHandCarDetailsActivity.this,list);
                viewPager.setAdapter(viewPagerAdapter);
                vehicleName.setText(name);
                vehicleModel.setText(model);
                vehiclePrice.setText(price);
                vehicleYear.setText(year);
                vehicleFuel.setText(fuel);
                vehicleKm.setText(km);
                vehicleGear.setText(gear);
                vehicleLocation.setText(location);



                this.progressDialog.dismiss();





            } catch (JSONException e) {
                e.printStackTrace();
            }
        } catch (Exception e) {
            // TODO: handle exception
            Log.e("log_tag", "Error parsing data " + e.toString());
        }
    }
}
受保护的void onPostExecute(void v){
试一试{
JSONArray对象=新的JSONArray(结果);
ArrayList items=新建ArrayList();
试一试{
对于(int i=0;i对于(int i=0;i您忘记使用
notifyDataSetChanged()
通知适配器中的更改:


您忘记使用
notifyDataSetChanged()
通知适配器中的更改:


显然,毕加索不支持开箱即用的https。请参阅问题

1) 您可以获得指向图像的
http
url,或者

2) 您使用的HTTP客户端类似于
OkHttpClient

OkHttpClient client = new OkHttpClient();
client.setProtocols(Arrays.asList(Protocol.HTTP_11));
Picasso picasso = new Picasso.Builder(context)
    .downloader(new OkDownloader(client))
    .build();

使用以下代码:

 ArrayList<String> list = new ArrayList<String>();
                if (vehicleSliderIamges != null) {
                      for (JSONObject o: vehicleSliderIamges){
                        list.add(o.getString("newimage");
                    }
                }
ArrayList list=new ArrayList();
如果(vehicleSliderIamges!=空){
适用于(JSONObject o:车辆滑行道){
添加(o.getString(“newimage”);
}
}

显然,毕加索不支持开箱即用的https。请参阅问题

1) 您可以获得指向图像的
http
url,或者

2) 您使用的HTTP客户端类似于
OkHttpClient

OkHttpClient client = new OkHttpClient();
client.setProtocols(Arrays.asList(Protocol.HTTP_11));
Picasso picasso = new Picasso.Builder(context)
    .downloader(new OkDownloader(client))
    .build();

使用以下代码:

 ArrayList<String> list = new ArrayList<String>();
                if (vehicleSliderIamges != null) {
                      for (JSONObject o: vehicleSliderIamges){
                        list.add(o.getString("newimage");
                    }
                }
ArrayList list=new ArrayList();
如果(vehicleSliderIamges!=空){
适用于(JSONObject o:车辆滑行道){
添加(o.getString(“newimage”);
}
}

Replace
get
方法调用

vehicleSliderIamges.get(i).toString()
getJSONObject
方法调用:

vehicleSliderIamges.getJSONObject(i).get("newimage").toString()
get
方法调用返回以下字符串:

{"newimage":"https:\/\/images.cardekho.com\/car-images\/carexteriorimages\/large\/Ford\/Ford-Mustang\/ford-mustang-exterior-047.jpg"}

替换
get
方法调用

vehicleSliderIamges.get(i).toString()
getJSONObject
方法调用:

vehicleSliderIamges.getJSONObject(i).get("newimage").toString()
get
方法调用返回以下字符串:

{"newimage":"https:\/\/images.cardekho.com\/car-images\/carexteriorimages\/large\/Ford\/Ford-Mustang\/ford-mustang-exterior-047.jpg"}

但是当我只需要显示单个图像而不是imageslider时,https对我有效。让我试试OKHttpClinetYou能帮助我如何根据OkHttpClient更改代码吗..抱歉打扰了you@AmitNair在执行此操作之前,能否先检查
列表中存储了哪些类型的值,然后再将其传递给
ViewPager适配器
?这些是列表[{“newimage”:“https:\/\/images.cardekho.com\/car images\/carexteriorimages\/large\/Ford\/Ford Mustang\/Ford-Mustang-exterior-047.jpg”}、{“newimage”:“https:\/\/www.enterprise.com\/content\/dam\/global vehicle images\/cars\/Ford\/Ford\u focu2012-1.png”,{“newimage”:“https:\/\/imagecdn8.cartrade.com\/img\/800x600\/car data\/big\/bmw-i8-default-image.png”}]但是当我只需要显示单个图像而不是imageslider时,https对我有效。让我试试OKHttpClinetYou能帮助我如何根据OkHttpClient更改代码吗..抱歉打扰了you@AmitNair在执行此操作之前,能否先检查
列表中存储了哪些类型的值,然后再将其传递给
ViewPager适配器
?这些是列表[{“newimage”:“https:\/\/images.cardekho.com\/car images\/carexteriorimages\/large\/Ford\/Ford Mustang\/Ford-Mustang-exterior-047.jpg”},{“newimage”:“https:\/\/www.enterprise.com\/content\/dam\/global vehicle images\/cars\/Ford\/Ford\u focu2012-1.png”,{“newimage”:https:\/\/imagecdn8.cartrade.com\/img\/800x600\/car data\/big\/bmw-i8-default-image.png“}]现在我只得到图像滑块中的第一个图像…其余2个图像没有加载到滑动:(对不起,我修复了答案(
0
I
)@amit nair如果你的问题解决了,请接受我的答案。)@nshmura..现在我也面临一些问题..第二个图像首先为我加载,向前滑动时没有其他图像加载..当我向后滑动时,图像加载并消失当我记录列表值时,我得到[,现在我只得到图像滑块中的第一个图像…其余2个图像未在滑动时加载:(对不起,我已修复了答案(
0
->
I
)。@amit nair如果您的问题得到解决,请接受我的答案。)@nshmura..现在我也面临一些问题..第二个图像首先为我加载,向前滑动时没有其他图像加载..当我向后滑动时,图像加载并消失当我记录列表的值时,我得到[,,