2016-04-06 19 views
1

Ich habe einen Renderfehler in meiner Android Studio-Anwendung erhalten. Es heißt "Ressource konnte nicht aufgelöst werden" und später "Konnte nicht in Drawable konvertiert werden". Die Details sind wie folgt:Android/Java-Rendering-Probleme - Ressource konnte nicht aufgelöst werden/Konnte nicht in Drawable konvertiert werden

java.lang.NumberFormatException: Color value '@drawable/breakfast_lto' must start with # 
    at com.android.layoutlib.bridge.impl.ResourceHelper.getColor(ResourceHelper.java:79) 
    at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:270) 
    at android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:742) 
    at android.view.View.<init>(View.java:3948) 
    at android.widget.ImageView.<init>(ImageView.java:145) 
    at android.widget.ImageButton.<init>(ImageButton.java:84) 
    at android.widget.ImageButton.<init>(ImageButton.java:80) 
    at android.widget.ImageButton.<init>(ImageButton.java:76) 
    at sun.reflect.GeneratedConstructorAccessor113.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
    at android.view.BridgeInflater.onCreateView(BridgeInflater.java:107) 
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:149) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:835) 
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:811) 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:838) 
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:811) 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:394) 
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:229) 
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:426) 
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350) 
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510) 
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498) 
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888) 
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498) 
    at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72) 
    at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610) 
    at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607) 
    at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:362) 
    at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607) 
    at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629) 
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:652) 
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:80) 
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:594) 
    at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152) 
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452) 
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402) 
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54) 
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137) 
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:589) 
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320) 
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310) 
    at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254) 
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269) 
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227) 
    at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217) 
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) 
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:351) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

Die ziehbar ein .png Bild ist, aber es scheint es, als Farbwert zu lesen. Was könnte das Problem sein.

Die XML-Datei:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:gravity="center"> 
<LinearLayout 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    android:orientation="vertical" 

    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="midamcorp.com.burgerkingapp.breakfastHome" 
    tools:showIn="@layout/activity_breakfast_home"> 
    <TextView android:text="Breakfast" android:id="@+id/headerText" android:textColor="@color/colorAccent" android:textSize="48dp" android:textAlignment="center" android:layout_marginBottom="50dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="50dp"/> 

     <ImageButton android:background="@drawable/breakfast_lto" android:id="@+id/breakfastLTOButton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      /> 

<ListView 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:layout_marginBottom="50dp" 
    android:id="@+id/breakfastListContainer" 
    ></ListView> 







    <ImageButton android:background="@drawable/breakfast_standard" android:id="@+id/breakfastStandardButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/viewLunchButton" 
     android:background="@drawable/lunch_icon" 
     android:layout_gravity="right"/> 

</LinearLayout> 
    </ScrollView> 

Dank!

+0

Ich bin nicht sicher, was das Problem war - es funktioniert jetzt (auch mit Android: Hintergrund). Danke trotzdem! – KellyMarchewa

Antwort

3

Versuchen android:background="@drawable/breakfast_lto"

mit diesem

android:src="@drawable/breakfast_lto" />

2

The Android zu ersetzen: Hintergrund Attribut erwartet eine Farbe.

Verwenden Sie stattdessen das Attribut android: src.

0

Schließen Sie einfach Ihr Projekt und starten Sie es neu. Ich weiß nicht warum, aber für mein Projekt kann es das Problem lösen.

+0

Wünschte es für meine. Es tut es nicht. Außerdem wurde versucht, den Unterstrich im Namen zu entfernen. Derselbe Fehler. Schon war alles Kleinschreibung im Namen. Egal, ich bekomme den gleichen Fehler. Gleiches Png funktioniert gut in Eclipse. Problem wird nur in Android Studio angezeigt. –

0

Ich stieß auf das gleiche Problem. mein XML sah so aus:

<uk.co.senab.photoview.PhotoView 
     android:id="@+id/transitmap" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/mypicture" 
     android:background="#00FFFFFF"/> // had to add color because of the error, but knocked opacity down to zero 

Aus irgendeinem Grund bekam ich immer noch den Fehler. Seltsamerweise machte das Neustarten von Android Studio den Fehler ohne weitere Codeänderungen von mir weg.

0

Einige Leute haben erwähnt Neustart IDE hat funktioniert, aber das hat nicht für mich funktioniert.

Stattdessen fand ich, dass ich die Bilddatei einfach umbenennen musste, damit sie nicht mit einer Nummer anfing. Alle Symbole im Android Developer Icon Pack beginnen mit einer Nummer und ich habe sie einfach kopiert. Es scheint, dass, wenn die Datei mit einer Zahl beginnt, angenommen wird, dass sie der Anfang eines hexadezimalen Farbwerts ist, und daher nach dem Symbol # sucht.

Arbeit mit Eclipse Juno 3.7.2, Android SDK 21,1 & & Android Studio

Verwandte Themen