我的应用程序使用Jake Wharten的View寻呼机指示器库。
我从json数据中获取了一组图像。使用getter和setter我存储和检索值。
MainActivty.java
protected void onPostExecute(String text) {
//Close progress dialog
progressDialog.dismiss();
JSONArray ja;
try {
ja = new JSONArray(text);
int len = ja.length();
for (int i = 0; i < len; i++) {
JSONObject json_data = ja.getJSONObject(i);
name_full = json_data.getString("name");
descp_full = json_data.getString("description");
image_full = json_data.getString("image");
price_full = json_data.getString("price");
GettersandSetters rData1 = new GettersandSetters();
rData1.setFull_grid_name(name_full);
numbers = json_data.getString(("image")).split(",");
rData1.setFull_grid_image(numbers);
rData1.setFull_grid_price(price_full);
rData1.setDescription_full(descp_full);
val_grid_full.add(rData1);
name.setText(name_full);
price.setText(rate + (price_full));
des.setText(description + "\n\n" + (descp_full));
Picasso.with(context_tab1).load(image).into(fullimage);
// Locate the ViewPager in viewpager_main.xml
viewPager = (ViewPager) findViewById(R.id.pager);
// Pass results to ViewPagerAdapter Class
adapter = new Sliding_Images_Adapter(FullImage.this, val_grid_full);
// Binds the Adapter to the ViewPager
viewPager.setAdapter(adapter);
// ViewPager Indicator
mIndicator = (UnderlinePageIndicator) findViewById(R.id.indicator);
mIndicator.setFades(false);
mIndicator.setViewPager(viewPager);
}
} catch (Exception e) {
e.toString();
}
}
}
Adapter.java
public class Sliding_Images_Adapter extends PagerAdapter {
private String[] IMAGES;
private LayoutInflater inflater;
private Context context;
ArrayList<GettersandSetters> val;
GettersandSetters row1 = new GettersandSetters();
public Sliding_Images_Adapter(Context context,ArrayList<GettersandSetters> val) {
this.context = context;
this.val=val;
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return val.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((RelativeLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
row1 = val.get(position);
// Declare Variables
ImageView imgflag;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.slider_with_images, container,
false);
// Locate the ImageView in viewpager_item.xml
imgflag = (ImageView) itemView.findViewById(R.id.image_full);
// Capture position and set to the ImageView
Picasso.with(context).load("xxx" + row1.getImage()).into(imgflag);
// Add viewpager_item.xml to ViewPager
((ViewPager) container).addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// Remove viewpager_item.xml from ViewPager
((ViewPager) container).removeView((RelativeLayout) object);
}
}
slider_with_images.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="1dip" >
<ImageView
android:layout_gravity="center"
android:id="@+id/image_full"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="20dp"
android:scaleType="fitXY" />
</RelativeLayout>
通过Debug选项,我可以看到我将值传递给Adapter类。
问题
但我不知道如何在适配器类中设置图像。
感谢。