mFragmentFavorite
in your code is a FragmentActivity
which is not the same thing as a Fragment
. That's why you're getting the type mismatch. Also, you should never call new
on an Activity
as that is not the proper way to start one.
If you want to start a new instance of mFragmentFavorite
, you can do so via an Intent
.
From a Fragment
:
Intent intent = new Intent(getActivity(), mFragmentFavorite.class);
startActivity(intent);
From an Activity
Intent intent = new Intent(this, mFragmentFavorite.class);
startActivity(intent);
If you want to start aFavorite
instead of mFragmentFavorite
then you only need to change out their names in the created Intent
.
Also, I recommend changing your class names to be more accurate. Calling something mFragmentFavorite
is improper in that it's not a Fragment
at all. Also, class declarations in Java typically start with a capital letter. You'd do well to name your class something like FavoriteActivity
to be more accurate and conform to the language conventions. You will also need to rename the file to FavoriteActivity.java if you choose to do this since Java requires class names match the file name.
UPDATE
Also, it looks like you actually meant formFragmentFavorite
to be a Fragment
instead of a FragmentActivity
based on your use of onCreateView
. If you want mFragmentFavorite
to be a Fragment
then change the following line of code:
public class mFragmentFavorite extends FragmentActivity{
Make this instead read:
public class mFragmentFavorite extends Fragment {