如何在gridview android的视图分页器中使用共享意图

时间:2014-08-23 17:05:06

标签: android android-viewpager android-imageview android-gridview android-gridlayout

我正在使用Gridview来显示可绘制的图像。当我在gridview中单击图像时,它会在视图寻呼机中显示,我可以在其中滑动图像。现在它可以正常工作。现在我想放置两个带保存的按钮并共享图像。但我无法理解,在哪里使用它?请告诉我如何解决这个问题。

我的代码如下:

 MainActivity

 GridView gridview = (GridView) findViewById(R.id.gridview);
    gridview.setAdapter(new ImageAdapter(this));

    // Listening to GridView item click
    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

            // Launch ImageViewPager.java on selecting GridView Item
            Intent i = new Intent(getApplicationContext(),ViewPagerImage.class);

            // Show a simple toast message for the item position
            Toast.makeText(PoemLinesGrid.this, "" + position, Toast.LENGTH_SHORT).show();

            // Send the click position to ImageViewPager.java using intent
            i.putExtra("id", position);

            // Start ImageViewPager
            startActivity(i);
        }
    });

ImageAdapter:

public class ImageAdapter扩展BaseAdapter {     private Context mContext;

public ImageAdapter(Context c) {
    mContext = c;
}

public int getCount() {
    return mThumbIds.length;
}

public Object getItem(int position) {
    return mThumbIds[position];
}

public long getItemId(int position) {
    return 0;
}

// Create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder = null;
    if(convertView == null){
        holder = new ViewHolder();
       LayoutInflater inflater=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.gridview_row,parent,false);
        holder.imageView = (ImageView)convertView.findViewById(R.id.grid_image);
        convertView.setTag(holder);
    }
    else
    {
        holder = (ViewHolder)convertView.getTag();
    }

    holder.imageView.setImageResource(mThumbIds[position]);
    return convertView;
}


// References to our images in res > drawable
public Integer[] mThumbIds = {
        R.drawable.profile1,R.drawable.profile2,
        R.drawable.profile3,R.drawable.profile4,
        R.drawable.profile5,R.drawable.profile6
           };

private static class ViewHolder {
    private ImageView  imageView;
}

}

在viewPagerImage.java中:

public class ViewPagerImage extends Activity {
// Declare Variable
int position;
Button save;
Context mContext ;

final File myDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Images/");
boolean success = false;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Set title for the ViewPager
    setTitle("ViewPager");
    // Get the view from view_pager.xml
    setContentView(R.layout.viewpager);
    save=(Button)findViewById(R.id.saveButton);
    share=(Button)findViewById(R.id.shareButon);

    // Retrieve data from MainActivity on item click event
    Intent p = getIntent();
    position = p.getExtras().getInt("id");

    final ImageAdapter imageAdapter = new ImageAdapter(this);
    List<ImageView> images = new ArrayList<ImageView>();

    // Retrieve all the images
    for (int i = 0; i < imageAdapter.getCount(); i++) {
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(imageAdapter.mThumbIds[i]);
        imageView.setScaleType(ImageView.ScaleType.CENTER);
        images.add(imageView);
    }

    // Set the images into ViewPager
    final ImageViewPagerAdapter pageradapter = new ImageViewPagerAdapter(images);
    final ViewPager viewpager = (ViewPager) findViewById(R.id.pager);
    viewpager.setAdapter(pageradapter);
    // Show images following the position
    viewpager.setCurrentItem(position);
    save.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
              final Random generator = new Random();
                        });
}

    share.setOnClickListener(new View.OnClickListener() {       
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
              final Random generator = new Random();
                        });
}

}

查看寻呼机适配器就是这个..

public class ImageViewPagerAdapter扩展了PagerAdapter {

private List<ImageView> images;

public ImageViewPagerAdapter(List<ImageView> images) {
    this.images = images;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
    ImageView imageView = images.get(position);
    container.addView(imageView);
    return imageView;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    container.removeView(images.get(position));
}

@Override
public int getCount() {
    return images.size();
}

@Override
public boolean isViewFromObject(View view, Object o) {
    return view == o;
}
}

请帮我解决如何使用保存和分享图像。

由于

0 个答案:

没有答案