onClickListener on imageview to start new intent

醉酒当歌 提交于 2019-12-01 14:45:39

You're putting in the extra with the key imageResourceId but you're trying to pull it out with the key imageFullScreen. Try using the same key in both places.

Use your image as ByteArray. This worked for me without any problem. In your click listener of the sender activity do the following,

Intent senderint = new Intent(context, receiveractivity.class);
Bitmap bitmap = drawableToBitmap(view.getBackground());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] b = baos.toByteArray();
senderint.putExtra("myimage", b);
startActivity(senderint);

And in your receiver activity do the following.

private void getImage(){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = null;
v = inflater.inflate(R.layout.receiverlayout, null);

ViewGroup vg = (ViewGroup) findViewById(R.id.yourmainlayout);
Bundle bundle = getIntent().getExtras();
byte[] ba = bundle.getByteArray("myimage");
Bitmap bm = BitmapFactory.decodeByteArray(ba, 0, ba.length());
Drawable dr = new BitmapDrawable(getResources, bm);
vg.setBackground(dr);
vg.addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}

call getImage() in your oncreate method of your receiver activity. The context is your application context. Good luck:)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!