Android应用程序未在ImageView上设置图像

问题描述:

我的活动有2个按钮,一个用于相机,另一个用于将数据发送到服务器,问题是当我关闭应用程序时,无法在ImageView上设置新图像,当我拍照时,我无法使用“发送”按钮。我需要找到一种方式,当我拍照时,我仍然可以使用我的其余活动,我只是想设置imageView以查看我从相机获得的图像,并且当我关闭应用程序时,我想要能够设置一张新照片(它不断给我一个空白imageView)。Android应用程序未在ImageView上设置图像

在这里,我初始化相机。

button2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       try { 
        if (cameraIntent.resolveActivity(getPackageManager()) != null) { 
         startActivityForResult(cameraIntent, CAMERA_REQUEST); 
        } 
       } catch (Exception e) { 
        System.out.println(e.getMessage()); 
       } 

      } 

     }); 

在这里我设置imageView与我从相机得到的位图。

protected void onActivityResult(int requestCode, int resultCode, final Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     setContentView(R.layout.comprovante_geral); 
     final ImageView photo_view = (ImageView) findViewById(R.id.photo_view); 

     if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) { 
      Bundle extras = data.getExtras(); 
      Bitmap imageBitmap = (Bitmap) extras.get("data"); 
      photo_view.setImageBitmap(imageBitmap); 
     } 
+0

你确定这条线吗Bitmap imageBitmap =(Bitmap)extras.get(“data”);'?这是不太可能的相机意图为您提供真正的位图 – Blackbelt 2014-12-02 13:17:15

+0

检查:http://*.com/questions/27033650/cant-get-the-image-from-gallery-using-fragment/27033852#27033852 – 2014-12-02 13:17:44

+0

我有另一种做法是,photo_view.setImageURI(data.getData());但仍然没有。 – 2014-12-02 13:19:21

用下面的代码替换这个onActivityResult方法。

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (requestCode == 1 && resultCode == RESULT_OK) 
    {    
    Uri selectedImageUri = data.getData(); 
    String imagepath = getPath(selectedImageUri); 
    File imageFile = new File(imagepath); 
    } 
} 
public String getPath(Uri uri) 
{ 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = getContentResolver().query(uri, projection, null, null, null); 
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst();     
    int columnIndex = cursor.getColumnIndex(projection[0]); 
    String filePath = cursor.getString(columnIndex); 
    cursor.close();   
    yourSelectedImage = BitmapFactory.decodeFile(filePath); 
    return cursor.getString(column_index); 
} 

我希望这可以帮助你。

+0

什么都没发生:( – 2014-12-02 13:57:42

+0

我已经编辑了答案检查再次 – 2014-12-02 17:51:55

+0

仍然没有,“imagePath”是一个字符串?而“yourSelectedImage”是一个位图? – 2014-12-03 10:26:06