我正在创建一个图像视图应用程序,我在arrayList中有图像(用于测试目的),当用户点击GridView中的图像时,它传递给另一个要全屏查看的活动,我想添加手势,如向左和向右滑动,但问题是如何在另一个活动中,我无法直接访问图像,因为它们在另一个活动中,所以我无法刷卡,除非我传递图像arrayList与每次打开的其他活动的图像似乎效率不高,我怎么能绕过这个呢?
将图像和图像ArrayList传递给活动2的代码,以便可以在FullScreen中打开图像:
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
ImageItem item = (ImageItem) parent.getItemAtPosition(position);
Intent intent = new Intent(MainActivity.this, DetailsActivity.class);
intent.putExtra("title", item.getTitle());
intent.putExtra("image", item.getImage());
intent.putExtra("position", position);
intent.putExtra("imagesReference", getData());
在活动2中获取已发送数据并显示数据的代码:
String title = getIntent().getStringExtra("title");
Bitmap bitmap = getIntent().getParcelableExtra("image");
images = getIntent().getParcelableExtra("imagesReference");
imagePosition = getIntent().getStringExtra("position");
TextView titleTextView = (TextView) findViewById(R.id.title);
titleTextView.setText(title);
final ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.setImageBitmap(bitmap);
答案 0 :(得分:0)
如果我按照你的问题,你可以将图像从一个活动传递到另一个活动。 将ImageView转换为位图
imageView.buildDrawingCache();
Bitmap bitmap = imageView.getDrawingCache();
在第二个活动中
Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("BitmapImage", bitmap);
解决方案2:(适用于简易和轻松的方式)
发送资源整数值,如:
主要活动
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("resourseInt", R.drawable.image);
startActivity(intent);
第二次活动
@Override
public void onCreate(Bundle bundle)
{
super.onCreate(bundle);
setContentView(R.layout.pantalla);
Bundle extras = getIntent().getExtras();
if (extras == null)
{
return;
}
int res = extras.getInt("resourseInt");
ImageView view = (ImageView) findViewById(R.id.something);
view.setImageResourse(res);
}
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("BitmapImage");
然后在ImageView中显示位图。