In Android Studio versuche ich ein neues Fragment in meiner Navigationsleiste zu öffnen, indem ich die gefundene Methode benutze Hier
Leider bekomme ich einen Fehler mit der folgenden Methode:
@Override
public void onNavigationDrawerItemSelected(int position) {
// update the main content by replacing fragments
Fragment fragment;
FragmentManager fragmentManager = getSupportFragmentManager();
if(position==1) {
fragment = new BlankFragment(); // This is where it fails with incompatible types
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
}else{
fragment = PlaceholderFragment.newInstance(position +1);
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
}
}
Wie bei Importen verwende ich den Support-Typ:
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
Meine BlankFragment-Klasse erweitert Fragment:
public class BlankFragment extends Fragment { ... }
Das Problem ist, dass die Zeile: fragment = new BlankFragment (); schlägt mit der Nachricht fehl:
"Inkompatible Typen"
Antworten:
2 für die Antwort № 1Importieren Sie? android.support.v4.app.Fragment
in BlankFragment?
Andernfalls versuchen Sie, dem SupportFragmentManager ein normales Fragment hinzuzufügen. Ich habe diesen Fehler viele Male gemacht, und es war am Anfang schwer zu finden.