2016-06-08 3 views
1

4 개의 검색 바 세트에서 수집 한 RGBA 값을 기반으로 상자의 색상을 변경하는 Android Studio에서 앱을 만들려고합니다. (RGBA 값마다 하나씩).android.view.InflateException : 이진 XML 파일 라인 # 87 : 클래스를 부 풀리는 동안 오류가 발생했습니다.

현재 각 검색 막대의 숫자 값이 실시간으로 막대 아래에 표시되도록 설정했습니다.

나는 막대를 그 아래의 텍스트 이외의 다른 부분에 연결하는 부분을 얻지 못했습니다. 내가 가서 (디자인보기를 통해) 믹스 내로하여 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

I 있었다 소니 모바일에 의해 나쁜 구현에 의한 유사한 문제. 추가

시도 : 단순히

android:hardwareAccelerated="true" 
매니페스트 파일

, 또는 = 14 +의 minSdkVersion을.

내가 겪었던 문제는 하드웨어 가속과 관련되어 있었고 나에게 보여준 마지막 오류는 지금보고있는 것과 같습니다.

이 호에 대한 자세한 이야기는 this을 참조하십시오.

3

당신이 당신의 로그를 확인하면 알 수 있습니다

android.content.res.Resources $ NotFoundException : 드로어 블 리소스 ID 번호의 0x7f0b004e

의미에서 파일 고해상도/색상/abc_search_url_text.xml 찾을 수 없습니다 color/abc_search_url_text

+0

자동 생성 된 파일 "R.java"에 위치하므로 R.java와 통신하는 방법을 알 수 없습니다. 특히 내가 R을 응용 프로그램 전체에서 자주 사용하는 방식과 잘 작동하는 방식을 보는 것이 좋습니다. –

+0

' <색 이름 = "colorPrimary"> # 3F51B5 <색 이름 = "colorPrimaryDark"> # 303F9F <색 이름 = "colorAccent"> # FF4081 ' 그게 모두 colors.xml입니다. –

+0

abc_search_url_text가 누락되어 오류가 발생했습니다. – TychoTheTaco

2

확인하십시오.

android:background="@color/abc_search_url_text" 

은 로그 캣를 참조

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 
관련 문제