2013-03-08 15 views
8

Mam dwa fragmenty zdefiniowane w układzie mojego MainActivity i ustawione przez setContentView. Chciałbym nazwać niektóre metody z tych fragmentów, ale nie wiem, jak uzyskać do nich dostęp. Eclipse mówi: "Nie można przesłać fragmentu do ListFileFrgament".Nie można wyrzucić z fragmentu

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

sprawdź swój plik układu. Sprawdź swoje ID. – hakiko

Odpowiedz

21

użycie getSupportFragmentManager() zamiast getFragmentManager()

+1

Czy możesz wyjaśnić, dlaczego? – TrungDQ

5

upewnić się, że mecz importu - może się okazać, że FileListFragment/PlayerListFragment przedłużyć android.support.v4.app.Fragment podczas getFragmentManager() findFragmentById zwraca android.app.. Fragment.

Użyj getSupportFragmentManager(), aby zwrócić instancję android.support.v4.app.Fragment.

Powiązane problemy