Mon application ne démarre pas en raison d'une erreur de gonflage de la classe ImageButton, à cause de cela, le téléphone dit "l'application s'est arrêtée" Etc. J'utilise firebase test lab pour déboguer le problème
les erreurs se produisent sur les appareils Samsung en particulier A20, s7 Edge, s7 (testé avec firebase même problème)
Je suis nouveau sur Android et j'ai essayé de nombreuses solutions de google et SO aucun logiciel n'a fonctionné
Voici le rapport d'erreurs sur Firebase
<ImageButton android:id="@+id/UploadButton" android:layout_width="300dp" android:layout_height="209dp" android:background="@android:color/transparent" app:layout_constraintTop_toBottomOf="@+id/flexboxLayout" app:srcCompat="@drawable/upload_files_upload" android:contentDescription="@string/todo" /> </com.google.android.flexbox.FlexboxLayout> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_begin="185dp" /> </androidx.constraintlayout.widget.ConstraintLayout>
Voici le XML
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/relativeLayout4" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/ic_launcher_background" tools:context=".MainActivity"> <com.google.android.flexbox.FlexboxLayout android:id="@+id/flexboxLayout" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginLeft="8dp" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" app:alignContent="stretch" app:alignItems="stretch" app:flexWrap="wrap" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.863" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/guideline7"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="48dp" android:fontFamily="@font/nunito" android:gravity="center_horizontal" android:text="@string/welcome_to_smartpractice" android:textSize="24sp" app:fontFamily="@font/nunito" app:layout_alignSelf="baseline" tools:layout_editor_absoluteY="100dp" tools:targetApi="jelly_bean" /> <TextView android:id="@+id/textView7" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimaryDark" android:gravity="center_horizontal|fill_vertical" android:text="@string/docsharesmart" android:textColor="@color/ic_launcher_background" app:layout_alignSelf="flex_end" tools:layout_editor_absoluteY="16dp" /> </com.google.android.flexbox.FlexboxLayout> <com.google.android.flexbox.FlexboxLayout android:layout_width="0dp" android:layout_height="0dp" android:layout_marginStart="8dp" android:layout_marginLeft="8dp" android:layout_marginTop="4dp" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginBottom="8dp" app:alignContent="center" app:alignItems="stretch" app:flexDirection="row" app:flexWrap="nowrap" app:justifyContent="space_between" app:layout_constraintBottom_toTopOf="@+id/guideline7" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <ImageView android:id="@+id/imageView3" android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@string/logo1" app:layout_alignSelf="center" app:srcCompat="@drawable/smartpractice_logo_02" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="-46dp" /> <ImageButton android:id="@+id/LoginScreen" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@null" android:contentDescription="@string/loginscreen" app:layout_alignSelf="center" app:layout_wrapBefore="false" app:srcCompat="@drawable/ic_more_vert_black_24dp" tools:layout_editor_absoluteX="248dp" tools:layout_editor_absoluteY="134dp" /> </com.google.android.flexbox.FlexboxLayout> <com.google.android.flexbox.FlexboxLayout android:id="@+id/flexboxLayout2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:layout_marginEnd="8dp" android:layout_marginBottom="8dp" app:alignContent="stretch" app:alignItems="stretch" app:flexWrap="wrap" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/flexboxLayout" app:layout_constraintVertical_bias="0.146">
3 Réponses :
La raison de votre erreur est que le upload_files_upload
ne se trouve pas dans votre dossier drawable
:
<ImageButton android:id="@+id/UploadButton" android:layout_width="300dp" android:layout_height="209dp" android:background="@android:color/transparent" app:layout_constraintTop_toBottomOf="@+id/flexboxLayout" app:srcCompat="@drawable/upload_files_upload"// this line android:contentDescription="@string/todo" />
Je n'ai qu'un seul dossier pouvant être dessiné et l'application fonctionne sur plusieurs appareils sur mon téléphone et sur plusieurs téléphones de mes collègues
Votre vecteur upload_files_upload est-il dessinable?
Oui, cela posera-t-il un problème ??, C'est au format PNG si cela fera une différence
avez-vous défini defaultConfig {vectorDrawables.useSupportLibrary = true} dans votre build.gradle?
Oui, le fait est que l'application fonctionne sur certains téléphones et d'autres non, c'est très déroutant
Quelle est la version Android de votre téléphone?
mettre cette ligne au début de l'activité qui utilisera la ressource peut aider: static {AppCompatDelegate.setCompatVectorFromResourcesEnabled (true); }
Android 9, il fonctionne avec plusieurs autres téléphones dont les versions Android dont je ne suis pas sûr, MAIS j'ai changé d'application: srcCompat = "@ drawable / upload_files_upload" // to android: src = "@ drawable / upload_files_upload" et cela a résolu le problème problème ]
C'est très bien ! et voir cette image: i.stack.imgur.com/1N5Ab.png
Cela signifie que upload_files_upload n'est pas trouvé dans le dossier drawble
, eh bien cela peut être un cas, où votre fichier peut être présent dans drawable-24
mais pas dans drawble
, dans ce cas, ce problème se pose toujours. Le point est votre fichier doit être dans tous les dossiers drawble
.
J'ai juste un dossier pouvant être dessiné, c'est-à-dire "Drawable" Dois-je ajouter de nouveaux dossiers dessinables ou
@RubenMeiring Non, ce n'est pas nécessaire. Je vais essayer de supprimer cette ligne: app: srcCompat = "@ drawable / upload_files_upload" et de reconstruire votre projet. Laissez-moi savoir ce qui se passe
le bouton disparaît c'est un bouton d'image et cela supprime l'image
Il y a peut-être un problème avec votre image, je vais essayer de charger une image différente dans votre ImageButton
J'ai résolu le problème J'ai changé d'application: srcCompat = "@ drawable / upload_files_upload" // en android: src = "@ drawable / upload_files_upload" Donc le problème était par app: srcCompat Je l'ai changé en Android: src et ça fonctionne très bien maintenant
Copie possible de android.view.InflateException: fichier XML binaire : Erreur lors du gonflement du fragment de classe
L'erreur est liée à l'image / l'arrière-plan en cours de chargement
@Bosco Pas du tout pareil
stackoverflow.com/questions/ 57970130 /…