In meiner App muss ich zwischen Fragmenten wechseln, wenn auf verschiedene Elemente in der Navigationsleiste geklickt wird. Ich habe eine neue Methode DisplayFragment dafür erstellt. Hier ist der Code:
private void DisplayFragment(int position)
{
Fragment fragment = null;
switch (position){
case 0:
fragment = new Fragment1();
break;
case 1:
fragment = new Fragment2();
break;
case 2:
fragment = new Fragment3();
break;
case 3:
fragment = new Fragment4();
break;
if(fragment!= null)
this.getFragmentManager().beginTransaction().replace(R.id.frame_container,fragment()).commit();
}
es zeigt einen Fehler für "fragment element in der obigen Zeile wie folgt" falscher zweiter Argumenttyp gefunden android.support.v4.app.Fragment; erforderliches android.app.Fragment; "
Ich habe versucht, den Import von android.support.v4.app.Fragment zu android.app.Fragment zu ändern; aber es zeigt dann einen Fehler für Fragment fragment = null-Anweisung. Was mache ich falsch?
Antworten:
0 für die Antwort № 1Sie müssen den Support-Fragment-Manager verwenden android.support.v4.app.Fragment
.
this.getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, fragment).commit();
damit, getSupportFragmentManager()
Anstatt von getFragmentManager()
. Außerdem müssen Sie nicht verwenden this
in diesem Fall.