如何使用PagerAdapter使用getter和setter从Arraylist设置Imageview?

时间:2016-01-05 11:27:52

标签: java android android-viewpager viewpagerindicator

我的应用程序使用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类。

问题

但我不知道如何在适配器类中设置图像。

感谢。

0 个答案:

没有答案