I want to parse an image through intent extras, Intent successfully opens the second activity and parses the text fields data but not images:
Images are .jpg format if that helps.
i have used the below before on png images and seemed to work fine.
Here is First Activity:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
ImageView imageView = (ImageView) findViewById(R.id.imageView);
imageView.setDrawingCacheEnabled(true);
bitmap = imageView.getDrawingCache(Boolean.parseBoolean(contactList.get(position).getProfilePic()));
Intent intent = new Intent(MainActivity.this, DetailedActivity.class);
intent.putExtra("imageView", bitmap);
intent.putExtra("name", contactList.get(position).getName());
intent.putExtra("email", contactList.get(position).getEmail());
intent.putExtra("phone", contactList.get(position).getPhone().getMobile());
startActivity(intent);
}
});
Second Activity:
public class DetailedActivity extends AppCompatActivity {
//declared variables
TextView txtName, txtEmail, txtPhone;
Bundle img;
String name;
String email;
String phone;
ImageView imageView;
Context mContext;
Bitmap bitmap;
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detailed);
//Get Intent
Intent i = getIntent();
//items to receive intent
name = i.getStringExtra("name");
email = i.getStringExtra("email");
phone = i.getStringExtra("phone");
bitmap = i.getParcelableExtra("imageView");
//Assign values to layout file items
txtName = (TextView) findViewById(R.id.tvName);
txtEmail = (TextView) findViewById(R.id.tvEmail);
txtPhone = (TextView) findViewById(R.id.txtPhone);
imageView = (ImageView) findViewById(R.id.profilPic);
/**
* Set parsed Text
*/
txtName.setText(name);
txtEmail.setText(email);
txtPhone.setText(phone);
imageView.setImageBitmap(bitmap);