2013-03-18 76 views
0
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    switch (v.getId()) { 

    case R.id.image1: 
     i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(i, cameraData); 

     break; 
    case R.id.image2: 
     ii = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(ii, cameraData); 
    } 
} 


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

    if (resultCode == RESULT_OK) { 
     Bundle extras = data.getExtras(); 
     bmp = (Bitmap) extras.get("data"); 
     view1.setImageBitmap(bmp); 
     view2.setImageBitmap(bmp); 
    } 
} 

我想借此用相機兩個圖像,並顯示這些圖像分成兩個獨立的ImageViews。我拍了一張照片,但它表明在這兩個ImageViews相同的圖像。請幫助我真的卡住了。拿多張影像攝像頭,並插入到多個diffefent imageViews

回答

1

你可以嘗試這樣的:

public void onClick(View v) { // TODO Auto-generated method stub 

    switch (v.getId()) { 

    case R.id.image1: 
     i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(i, 1); 

     break; 
    case R.id.image2: 
     ii = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(ii, 2); 
    } 
} 

然後,

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    switch(requestCode){ 
    case 1: 
     if(resultCode == RESULT_OK){ 
      Bundle extras = data.getExtras(); 
      bmp = (Bitmap) extras.get("data"); 
      view1.setImageBitmap(bmp); 
     } 
     break; 
    case 2: 
     if(resultCode == RESULT_OK) { 
      Bundle extras = data.getExtras(); 
      bmp = (Bitmap) extras.get("data"); 
      view2.setImageBitmap(bmp); 
     } 
     break; 
    } 
} 
+0

thanx它的工作,壞我沒有聲望投票給你。 – 2013-03-19 07:53:09

+0

好,太棒了! – 2013-03-19 10:16:29

1

試試這個:

public void onClick(View v) { 
     // TODO Auto-generated method stub 

     switch (v.getId()) { 
i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     case R.id.image1: 

      startActivityForResult(i, 101); 

      break; 
     case R.id.image2: 

      startActivityForResult(i, 102); 
     } 
} 


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

     if (if (requestCode == 101 && resultCode == RESULT_OK)) { 
      Bundle extras = data.getExtras(); 
      bmp = (Bitmap) extras.get("data"); 
      view1.setImageBitmap(bmp); 

} 
     if (if (requestCode ==102 && resultCode == RESULT_OK)) { 
      Bundle extras = data.getExtras(); 
      bmp = (Bitmap) extras.get("data"); 

      view2.setImageBitmap(bmp); 
} 
+0

thanx很多。我試了一下,它的工作。但現在我想調整我拍的照片,因爲它的原始大小太大,我的界面.thanx提前 – 2013-03-19 07:51:18

+0

@simbarashedewah接受/投我的答案,如果它爲你工作。 – 2013-03-19 08:10:34

0
private String uploadFile() { 
     String responseString = null; 

     ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
     bitmap.compress(Bitmap.CompressFormat.JPEG, 75, bos); 
     bitmap = Bitmap.createScaledBitmap(bitmap, 300, 300, true); 
     byte[] data = bos.toByteArray(); 

     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(Apis.Base); 


     try { 
      AndroidMultiPartEntity entity = new AndroidMultiPartEntity(
        new AndroidMultiPartEntity.ProgressListener() { 

         @Override 
         public void transferred(long num) { 
          publishProgress((int) ((num/(float) totalSize) * 100)); 
         } 
        }); 


      ByteArrayBody bab = new ByteArrayBody(data, "bt.jpg"); 
      entity.addPart("gallery", bab); 
      entity.addPart("action", new StringBody("update_photos")); 
      entity.addPart("user_id", new StringBody(SaveSharedPreference.getUserID(GalleryFragment.this))); 


      totalSize = entity.getContentLength(); 
      httppost.setEntity(entity); 

      // Making server call 
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity r_entity = response.getEntity(); 

      statusCode = response.getStatusLine().getStatusCode(); 
      responseString = EntityUtils.toString(r_entity); 
      jsonObject = new JSONObject(responseString); 
      Log.e("respon", "" + responseString); 

      if (statusCode == 200) { 
       // Server response 
       SaveSharedPreference.setUserIMAGE(GalleryFragment.this, "https://pickpamphlet.com/PropertyApp/uploads/profile_pic/" + jsonObject.getJSONObject("data").getString("profile_pic")); 

      } else if (statusCode == 201) { 
       // Server response 

       SaveSharedPreference.setUserIMAGE(GalleryFragment.this, "https://pickpamphlet.com/PropertyApp/uploads/profile_pic/" + jsonObject.getJSONObject("data").getString("profile_pic")); 


      } else { 
       responseString = "Error occurred! Http Status Code: " + 
         EntityUtils.toString(r_entity) + statusCode; 
      } 

     } catch (ClientProtocolException e) { 
      responseString = e.toString(); 
     } catch (Exception e) { 
      responseString = e.toString(); 
     } 

     return responseString; 
    } 

做一個函數像這樣上傳圖像服務器並調整它的大小。