2 Stimmen

Übergabe einer Ressource an eine Aktivität über einen Intent

Ich habe stundenlang versucht, eine Ressource von einer Activity zu einer anderen über einen Intent zu übergeben.

Hier ist der Code aus meiner 'Source'-Aktivität:

           Intent myIntent = new Intent(view.getContext(), Activity3.class);

            int res = R.raw.voicefile;

           myIntent = myIntent.putExtra("soundfile", res);

            startActivityForResult(myIntent, 0);

Wie Sie sehen können, habe ich eine Datei namens voicefile in meinem Raw-Ordner und ich setze res gleich und übergebe sie mit meiner Absicht. (Ich nehme an, dass sie vom Typ int ist)

In meiner Empfangsaktivität habe ich:

    Intent sender=getIntent();
    int file=sender.getExtras().getInt("soundfile");

Zu diesem Zeitpunkt hatte ich gehofft, dass file gleich R.raw.voicefile in meiner Ziel-Activity ist und dass ich meine Variable 'file' in meinem MediaPlayer-Aufruf als solche verwenden kann:

          MediaPlayer.create(getBaseContext(), file).start();

gegen:

          MediaPlayer.create(getBaseContext(), R.raw.voicefile).start();

Mein Problem ist, dass ich jedes Mal, wenn ich in meiner Quellaktivität auf die Schaltfläche klicke, die meine Zielaktivität startet, ein Force Close erhalte.

Sehen Sie, liebe Experten, irgendeinen eklatanten Fehler in meinem Code?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X