2013-03-08 12 views
8

caste ich habe zwei Fragmente im Layout von meinem MainActivity definiert und durch festgelegt. Ich möchte einige Methoden aus diesen Fragmenten aufrufen, aber ich weiß nicht, wie ich sie erreichen soll. Eclipse sagt: "Kann Fragment nicht in ListFileFrgament konvertieren".Kann nicht aus dem Fragment

public class MainActivity extends FragmentActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 

    FileListFragment listFragment = (FileListFragment) getFragmentManager().findFragmentById(R.id.list_fragment); 
    // cannot casr here 
    PlayerFragment playerFragment = (PlayerFragment) getFragmentManager().findFragmentById(R.id.player_fragment); 
    // cannot cast here 
    } 


} 
+0

überprüfen Sie Ihre Layout-Datei. Überprüfen Sie Ihre IDs. – hakiko

Antwort

21

Verwendung getSupportFragmentManager() statt getFragmentManager()

+1

Können Sie erklären warum? – TrungDQ

5

Stellen Sie sicher, Spiel Ihre Importe - es kann sein, dass FileListFragment/PlayerListFragment android.support.v4.app.Fragment erweitern, während getFragmentManager() findFragmentById android.app zurückgibt.. Fragment.

Verwenden Sie getSupportFragmentManager(), um android.support.v4.app.Fragment-Instanzen zurückzugeben.