Je développe une application qui a un onglet avec une fonctionnalité de balayage. J'utilise Eclipse pour développer. J'ai importé le support design library
en tant que bibliothèque via la propriété. Pendant la course, je reçois toujours cette erreur "Error inflating class Android.support.design.widget.CoordinatorLayout
".
Android support design.jar
et essayé, qui ne fonctionne pasclass.jar
fichier de support design library
à Java build path
qui n'est pas travaillésupport design library
comme bibliothèque à l'aide de Properties->Android->Add Library
cela ne fonctionne pas non plusTheme.AppCompat.Light.DarkActionBar
""<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
"
J'étend le AppCompatActivity
, voir mon MainActivity.Java
package com.example.scrollingtab.activity;
import Android.support.v7.app.AppCompatActivity;
import Android.support.v7.widget.Toolbar;
import Android.widget.Button;
import com.example.scrollingtab.R;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Toolbar toolbar;
private Button btnSimpleTabs, btnScrollableTabs, btnIconTextTabs, btnIconTabs, btnCustomIconTextTabs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
btnSimpleTabs = (Button) findViewById(R.id.btnSimpleTabs);
btnSimpleTabs.setOnClickListener(this);
}
Voici la trace complète de la pile:
FATAL EXCEPTION: main
Process: com.example.scrollingtab, PID: 1348
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.scrollingtab/com.example.scrollingtab.activity.MainActivity}: Android.view.InflateException: Binary XML file line #1: Error inflating class Android.support.design.widget.CoordinatorLayout
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2325)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2390)
at Android.app.ActivityThread.access$800(ActivityThread.Java:151)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1303)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:135)
at Android.app.ActivityThread.main(ActivityThread.Java:5257)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:903)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:698)
Caused by: Android.view.InflateException: Binary XML file line #1: Error inflating class Android.support.design.widget.CoordinatorLayout
at Android.view.LayoutInflater.createView(LayoutInflater.Java:633)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:743)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:482)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:365)
at Android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.Java:257)
at Android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.Java:109)
at com.example.scrollingtab.activity.MainActivity.onCreate(MainActivity.Java:20)
at Android.app.Activity.performCreate(Activity.Java:5990)
at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1106)
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2278)
Caused by: Java.lang.reflect.InvocationTargetException
at Java.lang.reflect.Constructor.newInstance(Native Method)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:288)
at Android.view.LayoutInflater.createView(LayoutInflater.Java:607)
Caused by: Java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/design/R$styleable;
at Android.support.design.widget.CoordinatorLayout.<init>(CoordinatorLayout.Java:171)
at Android.support.design.widget.CoordinatorLayout.<init>(CoordinatorLayout.Java:165)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "Android.support.design.R$styleable" on path: DexPathList[[Zip file "/data/app/com.example.scrollingtab-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
Suppressed: Java.lang.ClassNotFoundException: Android.support.design.R$styleable
at Java.lang.Class.classForName(Native Method)
at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
J'ai essayé la plupart des choses parlées et fournies par SO. Je ne parviens toujours pas à retracer ce qui ne va pas dans mon programme.
Besoin d'aide pour résoudre ce problème.
Merci
Pour moi, cette erreur résultait de l'utilisation de certaines bibliothèques androidx
mais en conservant l'ancienne disposition des coordonnées dans certaines layout.xml
des dossiers.
build.gradle
:
com.Android.support:coordinatorlayout
-> androidx.coordinatorlayout:coordinatorlayout:1.0.0-alpha1
Si vous utilisez androidx
, c'est peut-être aussi votre problème. J'ai dû mettre à jour l'autre v7
des bibliothèques comme Toolbar
également.
Voir le guide de migration androidx
ici: https://developer.Android.com/topic/libraries/support-library/refactor
Pour Android studio, essayez d'ajouter ces dépendances
compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'
J'ai eu cette erreur lors de la migration vers AndroidX
Pour résoudre, j'ai fait:
comme suggéré par @Mikeumus - et ajouté ceci aux dépendances build.gradle du module:
implémentation 'androidx.coordinatorlayout: coordinatorlayout: latest.version.here'
archivez le fichier XML de mise en page (la mise en page que vous essayez de lancer avec setContentView
si la mise en page contient: <Android.support.design.widget.CoordinatorLayout
...
remplacez-le par: <androidx.coordinatorlayout.widget.CoordinatorLayout
</Android.support.design.widget.CoordinatorLayout>
avec
</androidx.coordinatorlayout.widget.CoordinatorLayout>
J'ai trouvé la solution pour Eclipse
Le problème auquel j'ai été confronté est que le fichier R.Java
N'est pas généré sous support.design dans le dossier gen /.
Après avoir effectué les étapes ci-dessous, le fichier R.Java
Est généré. Le problème principal est conception la bibliothèque est ciblée à 22. Le passage à 23 a fonctionné.
Importer bibliothèque de conception de support de \sdk\extras\Android\support\design
Vers l'espace de travail Eclipse.
Ouvrez project.properties
Of AppCompat and design Library and target it to 2
Nettoyez Appcompat, design and YourProject.
Exécutez l'application
Assurez-vous que dans votre thème de jeu d'activités AppCompat
<activity
Android:name=".newApp.screens.main.MainActivity"
Android:label="@string/title_activity_main_launch"
Android:theme="@style/AppThemes"></activity>
<!-- Base application theme. -->
<style name="AppThemes" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#673AB7</item>
<item name="colorPrimaryDark">#512DA8</item>
<item name="colorAccent">#00BCD4</item>
</style>