Ich habe eine Aktivität, die ein Fragment hat.
XML:
<fragment android:name="com.example.androidcalculator.ResultFragment"
android:id="@+id/result_fragment"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Und ich möchte eine Methode von ResultFragment aus einer Methode in der Aktivität aufrufen, aber getSupportFragmentManager "existiert nicht":
FragmentManager fragMan = getSupportFragmentManager();
Wie kann ich das beheben?
FragmentManager
ist jetzt veraltet.Klasse erweitern auf
AppCompatActivity
stattActivity
quelle
Rufen Sie die aktuelle Aktivität vom übergeordneten Element ab und verwenden Sie dann diesen Code
getActivity().getSupportFragmentManager()
quelle
importieren
import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager;
quelle
FragmentActivity
.Einfach benutzen
Denken Sie immer daran, beim Zugriff auf Fragmente, die in MainLayout aufgeblasen werden, Casting oder zu verwenden
getActivity()
.quelle
verlängern
FragementAvtivity
stattActivity
quelle
Das hat bei mir funktioniert. Ausführen der Android API 19 und höher.
FragmentManager fragMan = getFragmentManager();
quelle
getCurrentActivity().getFragmentManager()
quelle
Anstatt
extends Fragment
verwenden
extends android.support.v4.app.Fragment
Das funktioniert bei mir. für * API14 und höher
quelle
ich benutzte
FragmentActivity
TabAdapter = new TabPagerAdapter(((FragmentActivity) getActivity()).getSupportFragmentManager());
quelle