Ich verstehe nicht, warum Menschen Ihre Frage abstimmen. Fragments
kann manchmal sehr verwirrend sein, besonders für Anfänger. Um Ihr Problem zu verstehen, müssen Sie lernen, was ein ist und wie sie verwendet werden.
Zunächst einmal ist eine View
etwas, das auf dem Bildschirm existiert. Beispiele sind: TextView
, EditText
, Button
usw. Sie werden in XML "Layouts" platziert. Diese Layouts werden unter Verwendung einer Activity
angezeigt.
Nun ist kein View
. Es existiert überhaupt keine Existenz auf dem Bildschirm. Stattdessen ist es eine Klasse, die einfach ein "Layout" verwaltet - ähnlich wie ein Activity
. Wenn Sie die von Ihrem Fragment zurückgegebene Ansicht onCreateView()
benötigen, können Sie direkt findViewById()
innerhalb Ihrer Activity
verwenden.
Wenn Sie einen Verweis auf Ihr Fragment benötigen, gibt es zwei Möglichkeiten, dies zu tun:
1) Wenn Sie das Fragment programmatisch wie diese
getFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container_viewgroup, myFragment, FRAGMENT_TAG)
.commit();
hinzugefügt wurden, können Sie verwenden:
MyFragment myFragment = (MyFragment) getFragmentManager().findFragmentByTag(FRAGMENT_TAG);
2) Wenn Sie das Fragment in einem XML-Layout wie folgt hinzugefügt:
<fragment android:name="com.example.android.fragments.HeadlinesFragment"
android:id="@+id/fragmentContainer"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
Sie können diese verwenden:
getFragmentManager().findFragmentById(R.id.fragmentContainer);
Grundsätzlich jede Aktivität hat eine FragmentManager
Klasse, die all aktiven Fragments
unterhält, und es gibt zwei Möglichkeiten, sie zu finden: einen einzigartigen TAG, die Sie passieren, während eine zeigen Fragment, oder übergeben Sie die Containeransicht-ID, wo das Fragment hinzugefügt wurde.
Wie fügen Sie das Fragment hinzu? Durch XML Tags oder mit einem FragmentManager in Java? –
Nachi
Ich habe sie mit dem FragmentManager hinzugefügt – Mohammad7G