Ich versuche, ein Fragment als Standardansicht für die Aktivität geladen zu haben, aber ich bekomme nur einen leeren Bildschirm und riesige Speicherlecks.Standardfragment auf Aktivität Starten
Aktivität Datei onCreate
Methode:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
if (savedInstanceState == null) {
FragmentManager fragmentManager = getFragmentManager();
int fragmentTransaction = fragmentManager.beginTransaction()
.add(R.id.login_screen_fragment, new FragmentLogin())
.commit();
}
}
Die XML für die Aktivität:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".LoginActivity">
<fragment
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/login_screen_fragment"
class="com.test.project.FragmentLogin"
/>
<fragment
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/forgotten_password_fragment"
class="com.test.project.FragmentForgottenPassword"
/>
</FrameLayout>
und das Fragment Klasse (relevante Teile):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_login, container, false);
final Activity activity = getActivity();
... code ...
return view;
}
Ich folgte Anweisungen von einem Tutorial jemand schlug früher aus einer anderen Frage, aber ich muss Somethi tun furchtbar falsch. Irgendwelche Ideen?
Wenn Sie definieren '' Elemente im Layout, brauchen Sie nicht diejenigen, dynamisch in Ihrem Code zu laden. –
@MikeM. Wo mache ich das? – mwieczorek
Der 'if'-Block instanziiert eine 'FragmentLogin'-Instanz dynamisch und verarbeitet sie. –