Fragment Error : incompatible types,nécessaire android.app.fragment, mais trouvé de l'activité.messagefragment
@Override
public void onDrawerItemSelected(View view, int position) {
displayView(position);
}
private void displayView(int position) {
Fragment fragment = null;
String title = getString(R.string.app_name);
switch (position) {
case 0:
fragment = new HomeFragment();
title = getString(R.string.title_home);
break;
case 1:
fragment = new FriendsFragment();
title = getString(R.string.title_friends);
break;
case 2:
fragment = new MessageFragment();
title = getString(R.string.title_messages);
break;
default:
break;
}
l'erreur imprimés:
incompatible types,required android.app.fragment but found activity.messagefragment
Vous devez vous connecter pour publier un commentaire.
Dans votre
messagefragment
classe, vous devez l'importerAu lieu de
required android.app.Fragment
message d'erreur, il est nécessaire de remplacerandroid.support.v4.app.Fragment
avecandroid.app.Fragment
Vous l'avez probablement compris la mauvaise classe, vérifier vos déclarations d'importation.
Vous devriez avoir ceci dans n':
Vérifier les importations de tous le fragment de classes java et assurez-vous qu'ils ont tous
import android.app.Fragment;
Au lieu de
import android.support.v4.app.Fragment;
Elle n'en résout.
Votre
Activity
doit s'étendre à partirAppCompatActivity
, puis vous appelez votre fragment à l'aide degetSupportFragmentManager
, cela devrait le faire.Ça va aller comme ça:
Vérifier à la fois les importations de ces deux fragment et de la vue doivent être de la même
android.app.fragment
Vous avez besoin de retourner un objet de
android.app.Fragment
classe, mais vous n'êtes pas de retourandroid.app.Fragment
comme dans le cas 2, qui estMessageFragment()
. Vous devez étendreandroid.app.Fragment
dansMessageFragment
.aller à la tab.class qui ont u problème et de changer d'import android.app.Fragment; de import android.de soutien.v4.app.Fragment;
il sera exécuté .
Vous pouvez le résoudre de deux manières.
1 -Dans votre messagefragment classe, vous devez l'importer
import android.app.Fragment;
Au lieu de
import android.de soutien.v4.app.Fragment;
2 - vous pouvez l'inverser, comme ...
dans votre messagefragment supprimer import android.app.Fragment;
et import android.de soutien.v4.app.Fragment;