Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to mix android.support.v4.app.Fragment and android.app.Fragment

I'm having a problem with com.here.android.mapping.MapFragment when trying to use it with tabs.

The issue comes that since the TabActivity is deprecated(I know it still works, but need a future proof solution), and FragmentTabHost appears to be requiring the v4 fragment to be used (it crashes if the fragment is derived from other one) , then when I try having the com.here.android.mapping.MapFragment used in a layout of one of the tab fragments, then I can not retrieve it for the required initialization, since the (MapFragment) getFragmentManager().findFragmentById() line has error indicating that the casting to MapFragment can not be made.

I suppose the issue is that MapFragment is derived from android.app.Fragment and the findFragmentById expects to return mix android.support.v4.app.Fragment, so the question would be on how could I get this mixture to run smoothly together ?

like image 934
Dr.Jukka Avatar asked Nov 10 '22 11:11

Dr.Jukka


1 Answers

The android.support.v4.app.Fragment and the android.app.Fragment classes can't be used interchangeably.

Nokia have created com.here.android.mapping.MapCompatibilityFragment which extends android.support.v4.app.Fragment - use that instead if your app uses support fragments.

like image 147
antonyt Avatar answered Nov 14 '22 21:11

antonyt