Reputation: 8978
I've a two fragments defined in the layout of my MainActivity
and set by setContentView
. I'd like to call some methods from these fragments, but I don't know how to acces them. Eclipse says: "Cannot cast form Fragment to ListFileFrgament".
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
}
}
Upvotes: 8
Views: 7692
Reputation: 199805
Make sure your imports match - it may be that FileListFragment / PlayerListFragment extend android.support.v4.app.Fragment while getFragmentManager().findFragmentById returns android.app.Fragment.
Use getSupportFragmentManager()
to return android.support.v4.app.Fragment instances.
Upvotes: 5