Ich habe diesen Code, aber wenn ich auf den Button klicke, wird die Galerie geöffnet und wenn ich ein Bild wähle, wird die Galerie wieder geschlossen. Und nichts wird passieren.Wählen Sie Bild in der Galerie
public class MainActivity erweitert AppCompatActivity {
private Button loadimagebutton;
private ImageView imageView;
private static int RESULT_LOAD_IMAGE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loadimagebutton = (Button) findViewById(R.id.button);
loadimagebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(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)findViewById(R.id.imageView);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
}
else{
Toast.makeText(getApplicationContext(), "ERROR", Toast.LENGTH_LONG).show();
}
}
Was ist falsch?
Nichts wird passieren einstellen können? Kein Fehler Toast? Kein Unfall? Nun, 'decodeFile()' hat 'null' anstatt einer gültigen Bitmap zurückgegeben. Vor Gebrauch prüfen und melden. – greenapps
Haben Sie versucht, in die if-Anweisung ein Log.d einzufügen, um zu sehen, ob es Ihre Logik korrekt verarbeitet? – drew