Probleme mit startActivityForResult in Fragment

  • 0 Antworten
  • Letztes Antwortdatum
GENiALi

GENiALi

Fortgeschrittenes Mitglied
11
Hallo

Ich habe folgende Situation. In einem Fragment starte ich einen Intent mit startActivityForResult.
Code:
@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btnUnterschriftBeurteiler:
            Intent intent = new Intent(getActivity(), Signature.class);
            startActivityForResult(intent, UNTERSCHRIFT_BEURTEILER);
            break;
        case R.id.btnUnterschriftMitarbeiter:
            Intent intentMitarbeiter = new Intent(getActivity(), Signature.class);
            startActivityForResult(intentMitarbeiter, UNTERSCHRIFT_MITARBEITER);
            break;
    }
}
Diesen verarbeite ich dann in einer ganz normalen Activity.
Code:
btnSave.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        SignatureView signatureView = (SignatureView) findViewById(R.id.signatureView);

        if (signatureView != null) {
            Bitmap bitmap = signatureView.getBitmap();

            String bild = Tools.bitmapToBase64String(bitmap);

            Intent intent = getIntent();
            intent.putExtra(FapekPageNine.UNTERSCHRIFT, bild);
            setResult(RESULT_OK, intent);

            Tools.toastInfo(Signature.this, R.string.signature_save_info_message, 0)
                 .show();

            finish();
        }
    }
});
Ich nehme also den bestehnden Intent, füge meinen Rückgabewert hinzu und rufe das ganze mit RESULT_OK auf.

Was ich jetzt schon feststellen musst ist, dass onActivityResult nicht im Fragment aufgerufen wird sonden in der Acitivy die das Fragment hostet.

Aber dort kommt mir im resultCode immer -1 zurück und nicht der Wert den ich beim starten startActivityForResult(intent, UNTERSCHRIFT_BEURTEILER); gesetzt habe.

Wieso? Was muss ich besonderes beachten wenn ich ein startActivityForResult aus einem Fragement mache?
 
Zurück
Oben Unten