Ich habe Navigation drawer
in jedem Item-Klick verwendet, ich habe Fragments
aufgerufen, also in einem Item habe ich ein Fragment
in diesem Fragment genannt, ich brauche ein Bild von der Kamera und setze es auf canvas background
.
In diesem habe ich Kamerabild eingefangen, aber ich weiß nicht, wie man dieses Bild nach der Aufnahme bekommt und es auf Canvas-Hintergrund setzt.
Fragmentcode
%Vor%In der Aktivitätsklasse:
%Vor%In Fragment:
%Vor%Option 1:
Wenn Sie startActivityForResult()
von dem Fragment aufrufen, sollten Sie startActivityForResult()
nicht getActivity().startActivityForResult()
aufrufen, da dies zum Fragment onActivityResult()
führt.
Wenn Sie nicht sicher sind, wo Sie startActivityForResult()
aufrufen und wie Sie Methoden aufrufen werden.
Option 2:
Da Activity das Ergebnis von onActivityResult()
erhält, müssen Sie die onActivityResult()
der Aktivität überschreiben und super.onActivityResult()
aufrufen, um für nicht behandelte Ergebniscodes oder für alle an das entsprechende Fragment zu propagieren.
Wenn mehr als 2 Optionen nicht funktionieren, dann wähle Option 3, da es definitiv funktionieren wird.
Option 3:
Expliziter Aufruf von Fragment an onActivityResult Funktion wie folgt
Überschreiben Sie in der übergeordneten Aktivitätsklasse die onActivityResult()
-Methode und überschreiben Sie diese in der Fragment-Klasse und rufen Sie sie als folgenden Code auf.
In Aktivität:
@Override protected void onActivityResult (int requestCode, int resultCode, Intent-Daten) { Fragmentfragment = getSupportFragmentManager (). FindFragmentById ("yourFragment"); fragment.onActivityResult (requestCode, resultCode, data); }
In Fragment:
%Vor% onActivityResult sollte in Aktivität implementiert werden,
Diese Klasse ist dein Fragment.
Wenden Sie onActivityResult in FragmentActivity an.
Tags und Links android android-fragments android-camera