2015-01-02 3 views
-1

Я пытаюсь сделать приложение (с шаблоном шаблона мастера/детали), которое в фрагменте детали имеет ImageView, который показывает изображение, сделанное камерой.Установить снимок для ImageView после съемки

Для этого параметра я добавил кнопку в ActionBar, которая открывает диалоговое окно и запрашивает у пользователя, хочет ли он добавить изображение с помощью камеры. Поэтому для этой опции я сделал два метода, которые вызывается, когда пользователь нажимает ok. Однако (теперь я делаю огромные ошибки), я не имею ни малейшего представления о том, как вызвать onActivityResult(), с тем, что мой ImageIcon показывает эскиз, полученный с камеры. (как показывает developer.android)

Если кто-то из вас, ребята, знает, что я делаю неправильно, я был бы очень рад услышать все решения, которые вы можете мне дать, так как я не смог найти решение к этой проблеме в любом месте.

private void dispatchTakePictureIntent() { 
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) { 
     startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); 
     onActivityResult(REQUEST_IMAGE_CAPTURE, RESULT_OK, takePictureIntent); 
    } 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { 
     Bundle extras = data.getExtras(); 
     Bitmap imageBitmap = (Bitmap) extras.get("data"); 
     ImageView mImageView = (ImageView) findViewById(R.id.imageView1); 
     mImageView.setImageBitmap(imageBitmap); 
    } 
} 

СПАСИБО МНОГО !!!!

ответ

0

Вы не должны вызывать onActivityResult явно. onActivityResult метод, вызываемый в родительской активности, когда сразу дочерняя/преемническая деятельность завершила свою задачу. Поэтому, когда ваша деятельность по обработке изображений завершит задачу, она автоматически вызовет «requestCode» и «Данные изображения» (если ваша операция по захвату изображения сделана с изображением, иначе она будет равна нулю). Для получения дополнительной информации о onActivityResult см. here.

Чтобы настроить миниатюру изображения, вы можете сделать это следующим образом.

Bitmap photo = (Bitmap) data.getExtras().get("data"); 
imageView.setImageBitmap(photo); 

Вы можете увидеть это tutorial о как взять изображение с помощью намерения.

Счастливый Coding

+0

Большое спасибо BeingMlAkashs, вы полностью решили мой вопрос с чем-то, что, по моему мнению, должно быть очень простым, я не очень хорошо разбираюсь в переопределении, поэтому я действительно благодарю вас за это решение. Я могу наконец добавить свои фотографии !!!!! большое спасибо – kickingnico

0

Вам необходимо создать масштабированное растровое изображение из растрового изображения, полученного в onActivityResult. Вы получите информацию о том, как создать уменьшенную растровое Here

+0

спасибо большое за ответ, но я думаю, что я получил битовую карту, однако я не могу реализовать метод, потому что я не уверен, что ставить на аргументы. idk, если я получаю вас правильно – kickingnico

+0

Прочтите эту статью, вы получите ответ http://developer.android.com/training/displaying-bitmaps/load-bitmap.html –

+0

спасибо !! это также очень помогло мне – kickingnico

0

Вы можете установить ширину и высоту, как желаемом

imageBitmap = Bitmap.createScaledBitmap(realImageBitmap, final_width, final_height, false); 
imageView.setImageBitmap(imageBitmap); 
Смежные вопросы