02-19 11:49:17.369: E/AndroidRuntime(4209): Java.lang.NoClassDefFoundError: com.slidingmenus.fragments.HomeFragment
02-19 11:49:17.369: E/AndroidRuntime(4209): at com.slidingmenus.MainActivity.displayCategoryView(MainActivity.Java:242)
02-19 11:49:17.369: E/AndroidRuntime(4209): at com.slidingmenus.MainActivity.onCreate(MainActivity.Java:121)
Essayé chacun et toutes les étapes suggérées dans le débordement de la pile, mais ils n'ont pas aidé.
Cela fonctionne sans erreur en 4.0+ mais dans 2.3.x dispositifs sa donnant Java.lang.noclassDeffondant
line 242: fragment = new HomeFragment();
Mes importations de fragments sont:
import Android.app.Fragment;
import Android.app.FragmentManager;
et j'utilise:
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();
Voici mon fragment de maison:
import Android.app.Fragment;
import Android.os.Bundle;
import Android.view.LayoutInflater;
import Android.view.View;
import Android.view.ViewGroup;
public class HomeFragment extends Fragment {
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.layout_main_fragment,container, false);
return rootView;
}
}
Passé toute la matinée à essayer de résoudre ce problème. toujours pas de chance. Toute aide est grandement appréciée.
Merci
Vous devez utiliser Fragment
de la bibliothèque de support.
import Android.support.v4.app.Fragment;
import Android.support.v4.app.FragmentManager;
Vous devez également utiliser getSupportFragmentManager()
et que vous utilisez AppCompat
votre activité doit prolonger ActionbarActivity
.
FragmentManager fragmentManager = getSupportFragmentManager();
Mettre à jour:
ActionBarActivity
est une utilisation obsolète AppCompatActivity
de la bibliothèque de support. N'oubliez pas de mettre à jour votre référentiel de support sur le dernier.
Essayez ce code importer:
import Android.support.v4.app.Fragment;
Et utilise
Fragment fragment = new HomeFragment();
Android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.layout.layout_main_fragment, fragment).commit();
J'ai confronté le même problème et je l'ai résolu par bibliothèque d'importation de support et utilisé
import Android.support.v4.app.Fragment;
import Android.support.v4.app.FragmentManager;
Au lieu
import Android.app.Fragment;
import Android.app.FragmentManager;