0

写真をキャプチャした後、別のアクティビティでImageViewに画像を表示したいと思います。
2つのアクティビティ(MainActivity、UploadActivity)と2つのレイアウト(main、upload)があります。

メインレイアウトにはカメラを開くための1つのボタンがあり、アップロードレイアウトにはキャプチャ後の画像を表示するためのImageviewがあります。ボタンをクリックしてカメラを開くためのMainActivityと、表示する画像を取得するためのUploadActivity。

これはMainActivityです

 imb_eat.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Intent intent_capture = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent_capture, 0);
        }
    });

}
4

2 に答える 2

0

カメラアクティビティが終了したら、onActivityResult()メソッドでデータを収集します。次に、カメラが作成したファイルを取得して別のインテントで使用し、別のアクティビティを起動します。次に、そのアクティビティはインテントデータを読み取り、写真を操作できます。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    String filePath;
    Bitmap _bitmapPreScale = null;
  if (requestCode == REQUEST_FROM_CAMERA && resultCode == RESULT_OK) {

    _bitmapPreScale = getPhoto(filePath);

  Intent intent = new Intent(someCLass.class)
  intent.putExtra(Intent.EXTRA_STREAM, Uri.parse ("file://" + filePath));
  startActivity(intent);
 }

}

于 2012-08-09T11:53:31.963 に答える
0

これは、別のアクティビティからバンドルを受け入れるアクティビティです。写真や写真のファイル名を渡しませんが、メカニズムは同じです

public class ClassList extends ListActivity {


private gradeBookDbAdapter mDbHelper;

/** Called when the classlist is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.class_list);

    // pull in any calling bundle information - are we just selecting a class from the list?
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
     int id = extras.getInt("SELECT");
      Select = (id == 1)? true : false;
    }

于 2012-08-12T02:08:36.167 に答える