Ich verstehe absolut nicht, ein Stück Code in das Xamarin Beispiel über Tab an hier mit https://developer.xamarin.com/samples/HelloTabsICSWarum konnte FragmentManager.FindFragmentById gegen FrameLayout verwendet werden?
Wie ich FragmentManager.FindFragmentById
verstehen sollte eine Fragment
zurückkehren sollte und die ID natürlich einige Fragment
unter layout
Ordner in XML-Dateien definiert . Aber der Code aus dem Link hat oben etwas seltsam für mich, hier ist ein Layout XML-Datei:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" />
</LinearLayout>
und der folgende Code (im Beispiel Demo) kann fragmentContainer
ein Fragment
von der ID herauszufinden, welche von a FrameLayout
? Das völlig keinen Sinn für mich, hier ist der Code:
var fragment = this.FragmentManager.FindFragmentById(Resource.Id.fragmentContainer);
if (fragment != null)
e.FragmentTransaction.Remove(fragment);
Warum kann die ID von FrameLayout
verwendet werden, um eine Instanz von Fragment
, um herauszufinden? Es ist wirklich verwirrend an diesem Punkt.
Ich bin ziemlich neu zu Xamarin.Android sowie Android-Programmierung (nur für 5 Tage erlebt). Also bitte hilf mir, diese seltsame Sache zu erklären.
Vielen Dank!
Ein 'FrameLayout' kann mehr als 1 Fragment enthalten, also meinst du' FindFragmentById' mit der übergebenen ID von 'FrameLayout' wird das erste Fragment (falls vorhanden) zurückgeben? – Hopeless