在网格视图ANdroid的侦听器上单击显示图像
我的android应用程序中有grid view,我希望当我点击grid view中的一个图像时,它会在全视图中显示该图像 当前,单击图像时,它会显示图像的位置 这是代码在网格视图ANdroid的侦听器上单击显示图像,android,gridview,Android,Gridview,我的android应用程序中有grid view,我希望当我点击grid view中的一个图像时,它会在全视图中显示该图像 当前,单击图像时,它会显示图像的位置 这是代码 GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(new ImageAdapter(this)); gridview.setOnItemClickListener(new Adapte
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(ViewActivity.this, "" + position,
Toast.LENGTH_SHORT).show();
}
});
如何在单击该图像时显示该图像
提前感谢。您可以通过以下方式将
位图
传递给其他活动
Intent intent = new Intent(getApplicationContext(),CameraPreviewActivity.class);
Bundle extras = new Bundle();
gridItem = gridItems.get(position);
bitmap = gridItem.getImage();
image_title = gridItem.getImageTitle();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, bos);
extras.putString(IMAGE_TITLE,image_title);
extras.putByteArray(IMAGE, bos.toByteArray());
intent.putExtras(extras);
startActivity(intent);
此代码将进入您的gridview.setOnItemClickListener
中
在下一个活动中,使用以下代码获取图像
byte[] byteArray = getIntent().getByteArrayExtra(IMAGE);
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
希望这有帮助 您可以将单击项目的位置传递到下一屏幕
// Sending image id to FullScreenActivity
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
// passing array index
i.putExtra("id", position);
startActivity(i);
然后在FullImageActivity中,您可以获取图像位置并将其显示为
// get intent data
Intent i = getIntent();
// Selected image id
int position = i.getExtras().getInt("id");
ImageAdapter imageAdapter = new ImageAdapter(this);
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(imageAdapter.mThumbIds[position]);
有关更多参考信息,请访问以下链接:我已经解决了我的问题,我只是更换了这一行
imageView.setImageResource(imageAdapter.mThumbIds[position]);
用这个
Picasso.with(imageAdapter.mContext).load(imageAdapter.mThumbIds[position]).into(imageView);
现在工作正常……-本教程将帮助您。
Picasso.with(imageAdapter.mContext).load(imageAdapter.mThumbIds[position]).into(imageView);