2016-03-23 4 views

Antwort

0

So lade ich mein Bild in einem Imageview, nachdem ich es aus der Galerie ausgewählt habe, vielleicht wird es dir helfen, vielleicht nicht.

requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { 
      Uri selectedImage = data.getData(); 
      String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

      Cursor cursor = getContentResolver().query(selectedImage, 
        filePathColumn, null, null, null); 
      cursor.moveToFirst(); 
      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      String picturePath = cursor.getString(columnIndex); 
      cursor.close(); 

      ImageView imageView = (ImageView) findViewById(R.id.imageView); 
      imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 

auf die Schaltfläche klicken:

Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
      startActivityForResult(i, RESULT_LOAD_IMAGE); 

      if (ContextCompat.checkSelfPermission(MainComp_News_Edit.this, 
        Manifest.permission.READ_EXTERNAL_STORAGE) 
        != PackageManager.PERMISSION_GRANTED) { 

       // Should we show an explanation? 
       if (ActivityCompat.shouldShowRequestPermissionRationale(MainComp_News_Edit.this, 
         Manifest.permission.READ_EXTERNAL_STORAGE)) { 

        // Show an expanation to the user *asynchronously* -- don't block 
        // this thread waiting for the user's response! After the user 
        // sees the explanation, try again to request the permission. 

       } else { 

        // No explanation needed, we can request the permission. 

        ActivityCompat.requestPermissions(MainComp_News_Edit.this, 
          new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 
          MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE); 
       } 
      } 
+1

aus der Galerie funktioniert es gut, aber wenn Bild mit Camera360 zeigt es leeren Bildschirm. – user2269164

+0

Oh, tut mir leid, verpasse diesen Teil, goodluck –

0

Seine vor allem, weil Sie das Bild von der Kamera in der App im Hauptthread geladen werden. Versuchen Sie, den Inhalt von onActivityResult in asynctask zu verpacken.