2016-06-08 111 views
1

我試圖在Android Studio中創建一個應用程序,該應用程序根據從一組4個搜索欄中收集的RGBA值更改一個框的顏色(每個RGBA值一個)。android.view.InflateException:二進制XML文件行#87:錯誤充氣類TextView

目前我已設置,以便每個搜索欄的數值實時顯示在欄下方。

我還沒有到達連接酒吧和其他酒吧的地方。這是工作就像一個魅力直到我去,並增加了ImageButton的混進去(通過設計視圖)和突然的我不斷收到以下錯誤:

06-08 00:24:59.004 1581-1581/edu.ggc.tkeating.grizzlycolorsapptkeating E/AndroidRuntime: FATAL EXCEPTION: main 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.ggc.tkeating.grizzlycolorsapptkeating/edu.ggc.tkeating.grizzlycolorsapptkeating.MainActivity}: android.view.InflateException: Binary XML file line #87: Error inflating class TextView 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.app.ActivityThread.main(ActivityThread.java:5041) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:511) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
     at dalvik.system.NativeStart.main(Native Method) 
    Caused by: android.view.InflateException: Binary XML file line #87: Error inflating class TextView 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:736) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
     at edu.ggc.tkeating.grizzlycolorsapptkeating.MainActivity.onCreate(MainActivity.java:22) 
     at android.app.Activity.performCreate(Activity.java:5104) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)  
     at android.app.ActivityThread.access$600(ActivityThread.java:141)  
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)  
     at android.os.Handler.dispatchMessage(Handler.java:99)  
     at android.os.Looper.loop(Looper.java:137)  
     at android.app.ActivityThread.main(ActivityThread.java:5041)  
     at java.lang.reflect.Method.invokeNative(Native Method)  
     at java.lang.reflect.Method.invoke(Method.java:511)  
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)  
     at dalvik.system.NativeStart.main(Native Method)  
    Caused by: android.content.res.Resources$NotFoundException: File res/color/abc_search_url_text.xml from drawable resource ID #0x7f0b004e 
     at android.content.res.Resources.loadDrawable(Resources.java:1953) 
     at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
     at android.view.View.<init>(View.java:3330) 
     at android.widget.TextView.<init>(TextView.java:583) 
     at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:60) 
     at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:56) 
     at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103) 
     at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:980) 
     at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1039) 
     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)  
     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)  
     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)  
     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)  
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
     at edu.ggc.tkeating.grizzlycolorsapptkeating.MainActivity.onCreate(MainActivity.java:22)  
     at android.app.Activity.performCreate(Activity.java:5104)  
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)  
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)  
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)  
     at android.app.ActivityThread.access$600(ActivityThread.java:141)  
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)  
     at android.os.Handler.dispatchMessage(Handler.java:99)  
     at android.os.Looper.loop(Looper.java:137)  
     at android.app.ActivityThread.main(ActivityThread.java:5041)  
     at java.lang.reflect.Method.invokeNative(Native Method)  
     at java.lang.reflect.Method.invoke(Method.java:511)  
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)  
     at dalvik.system.NativeStart.main(Native Method)  
    Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #18: <item> tag requires a 'drawable' attribute or child tag defining a drawable 
     at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:178) 
     at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885) 
     at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822) 
     at android.content.res.Resources.loadDrawable(Resources.java:1950) 
     at android.content.res.TypedArray.getDrawable(TypedArray.java:601)  
     at android.view.View.<init>(View.java:3330)  
     at android.widget.TextView.<init>(TextView.java:583)  
     at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:60)  
     at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:56)  
     at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103)  
     at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:980)  
     at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1039)  
     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)  
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)  
     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)  
     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)  
     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)  
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
     at edu.ggc.tkeating.grizzlycolorsapptkeating.MainActivity.onCreate(MainActivity.java:22)  
     at android.app.Activity.performCreate(Activity.java:5104)  
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)  
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)  
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)  
     at android.app.ActivityThread.access$600(ActivityThread.java:141)  
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)  
     at android.os.Handler.dispatchMessage(Handler.java:99)  
     at android.os.Looper.loop(Looper.java:137)  
     at android.app.ActivityThread.main(ActivityThread.java:5041)  
     at java.lang.reflect.Method.invokeNative(Native Method)  
     at java.lang.reflect.Method.invoke(Method.java:511)  
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)  
     at dalvik.system.NativeStart.main(Native Method)  

現在我到處尋找解決方案我在StackOverflow和其他一些網站上發現了幾個類似的問題,但似乎沒有任何工作。我不確定我的代碼是太龐大還是什麼。我檢查了在android.view.InflateException中引用的XML文件:二進制XML文件行#87「錯誤,但這是一個自動生成的類,我甚至沒有觸及

這是TextView,給我麻煩在我content_main.xml文件

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="Small Text" 
    android:id="@+id/textViewAlphaProg" 
    android:layout_below="@+id/seekBarAlpha" 
    android:layout_centerHorizontal="true" 
    android:background="@color/abc_search_url_text"/> 

這是我的相當長的MainActivity.java

package edu.ggc.tkeating.grizzlycolorsapptkeating; 

    import android.os.Bundle; 
    import android.support.v7.app.AppCompatActivity; 
    import android.support.v7.widget.Toolbar; 
    import android.widget.SeekBar; 
    import android.widget.TextView; 

    public class MainActivity extends AppCompatActivity { 
     private static SeekBar seek_bar_red; 
     private static SeekBar seek_bar_blue; 
     private static TextView text_view_red; 
     private static TextView text_view_blue; 
     private static SeekBar seek_bar_green; 
     private static TextView text_view_green; 
     private static SeekBar seek_bar_alpha; 
     private static TextView text_view_alpha; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      //start seekbar methods 
      seekbarred(); 
      seekbarblue(); 
      seekbargreen(); 
      seekbaralpha(); 
      Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
      setSupportActionBar(toolbar); 
     } 

     public void seekbarred() { 
      //Red Value 
      seek_bar_red = (SeekBar) findViewById(R.id.seekBarRed); 
      text_view_red = (TextView) findViewById(R.id.textViewRedProg); 
      text_view_red.setText("Red Value : " + seek_bar_red.getProgress() + " of " + seek_bar_red.getMax()); 

     seek_bar_red.setOnSeekBarChangeListener(

       new SeekBar.OnSeekBarChangeListener() { 
        int progress_value_red; 

        @Override 
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
         progress_value_red = progress; 
         text_view_red.setText("Red Value : " + progress + " of " + seek_bar_red 
           .getMax 
             ()); 
         //Toast.makeText(MainActivity.this, "SeekBar in Progress", Toast 
         //.LENGTH_LONG).show(); 
        } 

        @Override 
        public void onStartTrackingTouch(SeekBar seekBar) { 
         /*Toast.makeText(MainActivity.this, "SeekBar in StartTracking", Toast 
           .LENGTH_LONG).show();*/ 

        } 

        @Override 
        public void onStopTrackingTouch(SeekBar seekBar) { 
         /*text_view.setText("Value : " + progress_value + " of " + seek_bar.getMax()); 
         Toast.makeText(MainActivity.this, "SeekBar in StopTracking", Toast 
           .LENGTH_LONG).show();*/ 

        } 
       } 
     ); 
    } 

    public void seekbarblue() { 
     //blue Value 
     seek_bar_blue = (SeekBar) findViewById(R.id.seekBarBlue); 
     text_view_blue = (TextView) findViewById(R.id.textViewBlueProg); 
     text_view_blue.setText("Blue Value : " + seek_bar_blue.getProgress() + " of " + 
       seek_bar_blue 
         .getMax()); 


     seek_bar_blue.setOnSeekBarChangeListener(

       new SeekBar.OnSeekBarChangeListener() { 
        int progress_value_blue; 

        @Override 
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
         progress_value_blue = progress; 
         text_view_blue.setText("Blue Value : " + progress + " of " + seek_bar_blue 
           .getMax 
             ()); 
         //Toast.makeText(MainActivity.this, "SeekBar in Progress", Toast 
         //.LENGTH_LONG).show(); 
        } 

        @Override 
        public void onStartTrackingTouch(SeekBar seekBar) { 
         /*Toast.makeText(MainActivity.this, "SeekBar in StartTracking", Toast 
           .LENGTH_LONG).show();*/ 

        } 

        @Override 
        public void onStopTrackingTouch(SeekBar seekBar) { 
         /*text_view.setText("Value : " + progress_value + " of " + seek_bar.getMax()); 
         Toast.makeText(MainActivity.this, "SeekBar in StopTracking", Toast 
           .LENGTH_LONG).show();*/ 

        } 
       } 
     ); 
    } 

    public void seekbargreen() { 
     //Green Value 
     seek_bar_green = (SeekBar) findViewById(R.id.seekBarGreen); 
     text_view_green = (TextView) findViewById(R.id.textViewGreenProg); 
     text_view_green.setText("Green Value : " + seek_bar_green.getProgress() + " of " + 
       seek_bar_green.getMax()); 

     seek_bar_green.setOnSeekBarChangeListener(
       new SeekBar.OnSeekBarChangeListener() { 
        int progress_value_green; 

        @Override 
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
         progress_value_green = progress; 
         text_view_green.setText("Green Value : " + progress + " of " + 
           seek_bar_green.getMax()); 
         //Toast.makeText(MainActivity.this, "SeekBar in Progress", Toast 
         //.LENGTH_LONG).show(); 
        } 

        @Override 
        public void onStartTrackingTouch(SeekBar seekBar) { 
         /*Toast.makeText(MainActivity.this, "SeekBar in StartTracking", Toast 
           .LENGTH_LONG).show();*/ 
        } 

        @Override 
        public void onStopTrackingTouch(SeekBar seekBar) { 
         /*text_view.setText("Value : " + progress_value + " of " + seek_bar.getMax()); 
         Toast.makeText(MainActivity.this, "SeekBar in StopTracking", Toast 
           .LENGTH_LONG).show();*/ 
        } 
       } 
     ); 
    } 


    public void seekbaralpha() { 
     //Alpha Value 
     seek_bar_alpha = (SeekBar) findViewById(R.id.seekBarAlpha); 
     text_view_alpha = (TextView) findViewById(R.id.textViewAlphaProg); 
     text_view_alpha.setText("Alpha Value : " + seek_bar_alpha.getProgress() + " of " + 
       seek_bar_alpha.getMax()); 

     seek_bar_alpha.setOnSeekBarChangeListener(

       new SeekBar.OnSeekBarChangeListener() { 
        int progress_value_alpha; 

        @Override 
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
         progress_value_alpha = progress; 
         text_view_alpha.setText("Alpha Value : " + progress + " of " + 
           seek_bar_alpha.getMax()); 
         //Toast.makeText(MainActivity.this, "SeekBar in Progress", Toast 
         //.LENGTH_LONG).show(); 
        } 

        @Override 
        public void onStartTrackingTouch(SeekBar seekBar) { 
         /*Toast.makeText(MainActivity.this, "SeekBar in StartTracking", Toast 
           .LENGTH_LONG).show();*/ 

        } 

        @Override 
        public void onStopTrackingTouch(SeekBar seekBar) { 
         /*text_view.setText("Value : " + progress_value + " of " + seek_bar.getMax()); 
         Toast.makeText(MainActivity.this, "SeekBar in StopTracking", Toast 
           .LENGTH_LONG).show();*/ 

        } 
       } 
     ); 
    } 
} 

所以,如果有人知道我怎麼能解決這個問題,因此它可以再次運行,我就可以繼續編碼,這將是太棒了,如果有人有任何建議以更簡單的方式執行搜索欄功能,這也會很好。

回答

1

我造成了由索尼移動做出了錯誤的執行類似的問題。

嘗試增加:

android:hardwareAccelerated="true" 

到您的清單文件,或只是簡單地提出的minSdkVersion = 14 +。

我遭受的問題與硬件加速有關,最後顯示給我的錯誤看起來像你現在看到的。請參閱this

3

如果你看看你的日誌,你可以看到

android.content.res.Resources $ NotFoundException:從繪製資源ID#0x7f0b004e

含義文件RES /彩色/ abc_search_url_text.xml它找不到color/abc_search_url_text

+0

我注意到,但它位於自動生成的文件「R.java」中,所以我不太確定如何讓它與R.java進行通信。特別是看到我在應用程序中如何使用R,而且這些工作很好。 –

+0

'<?XML版本= 「1.0」 編碼= 「UTF-8」?> <顏色名= 「colorPrimary」>#3F51B5 <顏色名= 「colorPrimaryDark」>#303F9F <顏色名= 「colorAccent」> #FF4081 ' 所有這些都在colors.xml –

+0

看到您缺少abc_search_url_text,這就是錯誤引發的原因 – TychoTheTaco

2

檢查它。

android:background="@color/abc_search_url_text" 

看到你的logcat

dalvik.system.NativeStart.main(Native Method) Caused by: android.content.res.Resources$NotFoundException: File res/color/abc_search_url_text.xml from drawable resource ID #0x7f0b004e at 
相關問題