如何解决安卓 |如何使用 Picasso 将一些图片加载到 SliderView 中?
我使用库在带有 Picasso 的 MysqL 数据库中显示 SliderView
中的图片,但是当我尝试通过从数据库中连续获取五张图片来显示它来应用它时,它只显示第一张图片(pic1 )
id | product_id | pic1 | pic2 | pic3 | pic4 | pic5
1 | 5 | p.jpg | d.jpg | h.jpg | j.jpg | o.jpg
你可以在下面看到我的代码:
滑块适配器类:
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.smarteist.autoimageslider.SliderViewAdapter;
import com.squareup.picasso.Picasso;
import java.util.List;
public class PictureSliderAdapter extends SliderViewAdapter<PictureSliderAdapter.Holder> {
List<Pictures> pictures;
public PictureSliderAdapter(List<Pictures> pic) {
pictures = pic;
}
@Override
public Holder onCreateViewHolder(ViewGroup parent) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.pictures_layout,parent,false);
return new Holder(view);
}
@Override
public void onBindViewHolder(Holder viewHolder,int position) {
Pictures pic = pictures.get(position);
String[] picPath = new String[]{pic.getPic1(),pic.getPic2()};
Picasso.get().load(Config.image_address + pic.getPic1()).into(viewHolder.imgPic);
}
@Override
public int getCount() {
return pictures.size();
}
public class Holder extends SliderViewAdapter.ViewHolder {
ImageView imgPic;
public Holder(View itemView) {
super(itemView);
imgPic = itemView.findViewById(R.id.imgPic);
}
}
}
(我尝试将图片路径放在 String Array
中,但没有解决我的问题)
public class Pictures {
private String pic1;
private String pic2;
private String pic3;
private String pic4;
private String pic5;
public Pictures(String pic1,String pic2,String pic3,String pic4,String pic5) {
this.setPic1(pic1);
this.setPic2(pic2);
this.setPic3(pic3);
this.setPic4(pic4);
this.setPic5(pic5);
}
public String getPic1() {
return pic1;
}
public void setPic1(String pic1) {
this.pic1 = pic1;
}
public String getPic2() {
return pic2;
}
public void setPic2(String pic2) {
this.pic2 = pic2;
}
public String getPic3() {
return pic3;
}
public void setPic3(String pic3) {
this.pic3 = pic3;
}
public String getPic4() {
return pic4;
}
public void setPic4(String pic4) {
this.pic4 = pic4;
}
public String getPic5() {
return pic5;
}
public void setPic5(String pic5) {
this.pic5 = pic5;
}
}
private void showPictures() {
progressDialog.showLoading();
StringRequest request = new StringRequest(Request.Method.POST,Config.read_pictures,new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismissLoading();
svPictures.setVisibility(View.VISIBLE);
picturesList.clear();
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("pictures");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
String pic1 = object.getString("pic1");
String pic2 = object.getString("pic2");
String pic3 = object.getString("pic3");
String pic4 = object.getString("pic4");
String pic5 = object.getString("pic5");
Toast.makeText(ProductActivity.this,pic1 + pic2 + pic3
+ pic4 + pic5,Toast.LENGTH_LONG).show();
Pictures p = new Pictures(pic1,pic2,pic3,pic4,pic5);
picturesList.add(p);
}
pictureSliderAdapter = new PictureSliderAdapter(picturesList);
svPictures.setSliderAdapter(pictureSliderAdapter);
} catch (JSONException e) {
e.printstacktrace();
Toast.makeText(ProductActivity.this,e.toString(),Toast.LENGTH_SHORT).show();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismissLoading();
Toast.makeText(ProductActivity.this,error.toString(),Toast.LENGTH_SHORT).show();
}
}) {
@Override
protected Map<String,String> getParams() {
Map<String,String> params = new HashMap<>();
params.put("product_id",products.getId());
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(ProductActivity.this);
requestQueue.add(request);
}
更新:
这是我在适配器中使用的图片布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/imgPic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</LinearLayout>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。