2016-11-22 9 views
-3

私はAndroidStudioでコンパイルするAndroidアプリを持っていますが、私は特定のアクティビティを呼び出すときに、私は次のエラーを取得する:ランタイムエラーを修正するには "layout_width属性を指定する必要があります。"アンドロイドで?

11-22 16:08:40.461 13796-13796/com.impyiablue.stoxx E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.impyiablue.stoxx, PID: 13796 
                     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.impyiablue.stoxx/com.impyiablue.stoxx.EditEntryActivity}: java.lang.RuntimeException: Binary XML file line #25: You must supply a layout_width attribute. 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2365) 
at android.app.ActivityThread.access$800(ActivityThread.java:148) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5272) 
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:909) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704) 
Caused by: java.lang.RuntimeException: Binary XML file line #25: You must supply a layout_width attribute. 
at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:606) 
at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:6422) 
at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:6591) 
at android.widget.LinearLayout$LayoutParams.<init>(LinearLayout.java:1866) 
at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1778) 
at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:62) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:808) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
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:280) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
at com.impyiablue.stoxx.EditEntryActivity.onCreate(EditEntryActivity.java:51) 
at android.app.Activity.performCreate(Activity.java:5977) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2258) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2365)  
at android.app.ActivityThread.access$800(ActivityThread.java:148)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:135)  
at android.app.ActivityThread.main(ActivityThread.java:5272)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:909)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704)  
11-22 16:10:02.231 15805-15805/com.impyiablue.stoxx:remote E/AndroidRuntime: FATAL EXCEPTION: main 
                      Process: com.impyiablue.stoxx:remote, PID: 15805 
                      java.lang.NumberFormatException: Invalid float: "N/A" 
                       at java.lang.StringToReal.invalidReal(StringToReal.java:63) 
                       at java.lang.StringToReal.initialParse(StringToReal.java:164) 
                       at java.lang.StringToReal.parseFloat(StringToReal.java:323) 
                       at java.lang.Float.parseFloat(Float.java:306) 
                       at com.impyiablue.stoxx.Tools.ServiceStock$ResponseListener.onResponse(ServiceStock.java:86) 
                       at com.impyiablue.stoxx.Tools.ServiceStock$ResponseListener.onResponse(ServiceStock.java:71) 
                       at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:67) 
                       at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30) 
                       at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99) 
                       at android.os.Handler.handleCallback(Handler.java:739) 
                       at android.os.Handler.dispatchMessage(Handler.java:95) 
                       at android.os.Looper.loop(Looper.java:135) 
                       at android.app.ActivityThread.main(ActivityThread.java:5272) 
                       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:909) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704) 

対応するXMLファイルがhereを見つけることができます。私はこのXMLファイルに何の問題も見ません。それで問題を解決するには?私はまた、あなたのXMLレイアウトのライン25で

+0

私はandroid:layout_weightはintでなければならないと思いますか? –

+3

最初のTextViewにはサイズが定義されていません。 Androidスタジオがそれを指摘していることは確かです。 –

+0

'layout_height'属性と' layout_width'属性をXMLのすべてのウィジェットに追加します。 – AlphaQ

答えて

3

ルック...最新のビルド前にクリーンtextTitleEdit IDが必要とされているlayout_widthlayout_height属性が、不足しているとのTextViewをしました。次のTextViewにも同じ属性がありません。

+0

しかし、それは前に働いていた... – Alex

+0

今、私のレイアウトはloksの駄目に見える.... – Alex

+0

@Alexの前に?あなたは何を変えましたか?私はそれらの属性が 'GridLayout'内のビューには必要ではないことを知っていますが、' LinearLayout'内でそれらの属性が必要です。 – Bryan

3

I have an android app which compiles in AndroidStudio

プロジェクトのコンパイルその正しさを保証するものではありません、これもレイアウトが含まれています。また、実行時のオブジェクトにはlayout_widthも必須ですが、コンパイル時にこのような不足はバグではありませんが、通常は誤判定の結果です。このような属性は、実行時に実行中のコードから後で追加することを意図したものである必要があります。コンパイラ/スタティック・アナライザはこれを理解することができません。そのためlintが不平を言うのですが、コンパイル・フェーズは失敗しません。

このような問題を回避するには、lintツールを使用して、潜在的な問題をすべてキャッチしてください。しかし、agaimは、指定された属性が不足しているためエラーではないため、コンパイルエラーは発生しません。 layout_heightlayout_widthは実行時に必須なので、ViewGroupはどのようにすべての子をレイアウトするかを知っていて、TextViewのほとんどはこれらのいずれも直接的にも間接的にも提供していないので、レイアウトによってはレイアウトに問題があると見なすことができます。

関連する問題