kongkea kongkea - 5 months ago 17
Android Question

Get image from capture and show image in another layout using another activity in android

I want to show image after capture by click button Capture in the FirstActivity and show image in the activity_second(layout) using SecondActivity.

FirstActivity

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);

Button take_photo = (Button) findViewById(R.id.btn_capture);
take_photo.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(i);
}
});
}


Layout activity_first

> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<Button
android:id="@+id/btn_capture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="21dp"
android:text="Capture" />

</RelativeLayout>


SecondActivity

> public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

ImageView view = (ImageView) findViewById(R.id.view_photo);
}


activity_second

> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageView
android:id="@+id/view_photo"
android:layout_width="260dp"
android:layout_height="374dp" />

</LinearLayout>

G_S G_S
Answer

use startActivityForResult() instead of startActivity()

         @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    Bitmap thumbnail = null;
    if (requestCode == CAMERA_PIC_REQUEST) {

        if (resultCode == RESULT_OK) {

            thumbnail = (Bitmap) data.getExtras().get("data");

            Intent i = new Intent(this, NextActivity.class);
            i.putExtra("name", thumbnail);
            startActivity(i);



        }

    }

}

Next in the next activity try to use this

       protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
     //     intialize the image view 

Bitmap bitmap  = getIntent().getExtras().getParcelable("data");
//set the image here.
}

Hope this may help you

Comments