2016-05-20 2 views
0

J'ai créé une application qui fonctionne très bien jusqu'à ce que je l'ai déplacé à Gradle.Android Inflate View exception

j'avais une coutume Textview et moi comme ci-dessous au format XML

<RelativeLayout 
      android:id="@+id/text_message" 
      style="@style/Container"> 


      <co.customview.FontTextView 
       android:id= "@+id/header_message" 
       style= "@style/TextAppearance.SubTitle" 
       android:layout_marginBottom="@dimen/gap_small" 
       android:layout_width="wrap_content"/> 
     </RelativeLayout> 

styles définis sont comme ci-dessous

<style name="Container"> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">wrap_content</item> 
</style> 


<style name="TextAppearance.SubTitle" > 
    <item name="android:layout_width">wrap_content</item> 
    <item name="android:layout_height">wrap_content</item> 
</style> 

maintenant pour chaque vue personnalisée nous avons commencé à en dessous de l'erreur

java.lang.RuntimeException: Unable to resume activity android.view.InflateException: 
Binary XML file line #57: Binary XML file line #57: You must supply a layout_height attribute. 
                              at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103) 
                              at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134) 
                              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481) 
                              at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                              at android.os.Handler.dispatchMessage(Handler.java:102) 
                              at android.os.Looper.loop(Looper.java:148) 
                              at android.app.ActivityThread.main(ActivityThread.java:5417) 
                              at java.lang.reflect.Method.invoke(Native Method) 
                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                             Caused by: android.view.InflateException: Binary XML file line #57: Binary XML file line #57: You must supply a layout_height attribute. 
                              at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
                              at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                              at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                              at android.view.View.inflate(View.java:19784) 
+0

Avez-vous essayé d'enlever 'android: layout_width =" wrap_content "' à partir de fontview –

+0

S'il vous plaît lire l'erreur "Vous devez fournir un attribut layout_height." Dans votre cas, "co.customview.FontTextView" n'a pas d'attribut layout_height. –

+0

@sunilsunny Il utilise un style personnalisé. –

Répondre

0

Modifier

<co.customview.FontTextView 
        android:id= "@+id/header_message" 
        style= "@style/TextAppearance.SubTitle" 
        android:layout_marginBottom="@dimen/gap_small" 
        android:layout_width="wrap_content"/> 

à

<co.customview.FontTextView 
         android:id= "@+id/header_message" 
         style= "@style/TextAppearance.SubTitle" 
         android:layout_marginBottom="@dimen/gap_small" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"/> 

Vous have'nt spécifié layout_height attribut.

+0

Oui, cela résout mon problème. BUt il y a des tonnes de fichiers comme ça. J'ai besoin de trouver la cause de la raison pour laquelle cela se passe comme ça – MRX

+0

Pour chaque vue, vous ajoutez besoin de spécifier la largeur et la hauteur. –

+0

@MRX: Vous pouvez accepter ma réponse si ma solution fonctionne. Merci –