I am working on an image and text slider that shows images and text in slider using view pager. in this project text and images, the array is defined in the app itself. how can load these values from a JSON API?. instead of defining it i want to load these from an json file online. Please help.
My Adapter Code
public class SlideAdapter extends PagerAdapter {
Context context;
LayoutInflater inflater;
// list of images
public int[] lst_images = {
R.drawable.image_1,
R.drawable.image_2,
R.drawable.image_3,
R.drawable.image_4
};
// list of titles
public String[] lst_title = {
"COSMONAUT",
"SATELITE",
"GALAXY",
"ROCKET"
} ;
// list of descriptions
public String[] lst_description = {
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,",
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,",
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,",
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
};
// list of background colors
public int[] lst_backgroundcolor = {
Color.rgb(55,55,55),
Color.rgb(239,85,85),
Color.rgb(110,49,89),
Color.rgb(1,188,212)
};
public SlideAdapter(Context context) {
this.context = context;
}
@Override
public int getCount() {
return lst_title.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return (view==(LinearLayout)object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.slide,container,false);
LinearLayout layoutslide = (LinearLayout) view.findViewById(R.id.slidelinearlayout);
ImageView imgslide = (ImageView) view.findViewById(R.id.slideimg);
TextView txttitle= (TextView) view.findViewById(R.id.txttitle);
TextView description = (TextView) view.findViewById(R.id.txtdescription);
layoutslide.setBackgroundColor(lst_backgroundcolor[position]);
imgslide.setImageResource(lst_images[position]);
txttitle.setText(lst_title[position]);
description.setText(lst_description[position]);
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((LinearLayout)object);
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…