Android 图像滑块图像未加载(ViewPager和毕加索)
我正在使用毕加索+Viewpager创建图像滑块。 我能够根据图像大小(计数)滑动滑块。 但是,即使我可以用默认图像滑动屏幕,也没有加载阵列中的图像。 如果发现任何错误,请改正。我是android新手 提前谢谢 我的json数组是这样的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"
[
{
"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”);
}
}
Replaceget
方法调用
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..现在我也面临一些问题..第二个图像首先为我加载,向前滑动时没有其他图像加载..当我向后滑动时,图像加载并消失当我记录列表的值时,我得到[,,