我正在使用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;
}
}
请帮我解决如何使用保存和分享图像。
由于