2017-07-21 28 views
-1

Androidが新機能です。私は電話カメラで写真を撮って、電話ギャラリーから写真を撮ろうとしています。このような状況では、ギャラリーから写真を撮ることに成功しましたが、カメラで撮影するときに、オーバーライド方法protected void onActivityResult(int requestcode,int resultcode,Intent data)が問題に直面し、エラーが表示され、以前のオーバーライドギャラリーから写真を撮る方法。私は一度に2つの作品をしたいです。私は今何をしなければならないのですか画像ボタンを使用して画像を表示

私はすでに作成しています プライベートstatic final int PICK_IMAGE = 150; Uri imageUrl; ;

private void openGallery() { 

    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
    startActivityForResult(intent,PICK_IMAGE); 
} 

@Override 
protected void onActivityResult(int requestcode,int resultcode,Intent data){ 
    super.onActivityResult(requestcode,resultcode,data); 
    if(resultcode == RESULT_OK && requestcode == PICK_IMAGE){ 
     imageUrl = data.getData(); 
     im.setImageURI(imageUrl); 
    } 
} 

私は別の保護された無効onActivityResult(int型requestCode、int型のresultCode、テントデータ)メソッドを追加したいときに、それはエラーが表示され、写真を撮るためにこれを使用することができ、それはすでに

+0

ようこそスタックオーバーフローに。英語で記述するだけでなく、実際のコードを表示した方がよいでしょう。いくつかのヒントについては、[mcve]を必ず読んでください。 –

答えて

0

**呼び出します。代わりに、既存のifステートメントにelse if句を追加camera.Justから写真を取得するためのロジックを実装するために、既存のonActivityResult()メソッドにコードを追加する必要があります

if (resultcode == RESULT_OK) { 
    if (requestcode == PICK_IMAGE) { 
     // get image from gallery 
    } else if (requestcode == CAMERA_REQUEST) { 
     // get image from camera 
    } 
} 
+0

あなたの協力のおかげです。 –

+0

@ JannatullHaque私の答えがあなたの問題を解決したら、左のチェックマークをクリックして問題を受け入れてください。 –

-1

を作成したことを告げましたカメラボタンをクリックするか、いずれかの画像上

から

photoButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 
     } 
    }); 
あなたがクリックしたとき

**このメソッドは、あなたがまったく同じ名前とパラメータリストを持つ2つのメソッドを持つことはできません

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView.setImageBitmap(photo);//set image to Imageview 
    } 
} 
+0

'Bundle'は' get() 'メソッドを持っていないので、この答えはコンパイルされません。代わりに、あなたは 'data.getStringExtra(" data ");を実行する必要があると思います。これはグラフィックファイルのURIです。 –

関連する問題