2014-09-06 15 views
7

Kiedy próbuję uruchomić mój wniosek wywala i pojawia się następujący w LogCat:InflateException: Binary plik XML linia nr 22: Błąd klasa pompowania <unknown>

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.application/com.example.application.StartActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class <unknown> 

.....

Caused by: android.view.InflateException: Binary XML file line #22: Error inflating class <unknown> 

.....

Caused by: java.lang.reflect.InvocationTargetException 

.....

Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1 

błąd obejmuje również linię w moim kodu, gdzie mogę ustawić widok zawartości

jest to plik XML i odwoływać się do

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin"> 



      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="200dp"> 

       <TextView 
        android:id="@+id/summonerName" 
        android:layout_width="439dp" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:gravity="center_vertical" 
        android:hint="@string/prompt_email" 
        android:textSize="?android:textAppearanceLarge" 
        android:singleLine="true" /> 

       <Spinner 
        android:id="@+id/region" 
        android:layout_width="83dp" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:layout_toRightOf="@id/summonerName" 
        android:layout_alignParentRight="true" 
        /> 

      <Button 
       android:id="@+id/btnSearch" 
       style="?android:textAppearanceSmall" 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="16dp" 
       android:background="#777" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentRight="true" 
       android:text="@string/action_sign_in" 
       android:textColor="#FFF" 
       android:textStyle="bold" /> 

      </RelativeLayout> 
     </LinearLayout> 


<ListView 
    android:id="@+id/left_drawer" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:background="#f3f3f4" 
    android:choiceMode="singleChoice" 
    android:divider="#dadadc" 
    android:dividerHeight="1dp"/> 

nie mam pojęcia, co zrobić z tymi błędami. Czy ktoś może mi pomóc we właściwym torze?

+1

Czy możesz edytować pytanie i dodawać zawartość pliku xml i pliku, do którego się odwołujesz (jeśli jest) w pliku xml? –

+0

wystarczy sprawdzić, czy dodano wartości w xml dla tych folderów 'values-sw600dp',' values-sw720dp-land', 'values'. Sprawdź to [wpis] (http://stackoverflow.com/a/18844713/3326331), który określa ten sam wyjątek. –

Odpowiedz

3

Zorientowałem się, odczytując odpowiedź this. Dodany przeze mnie ciąg do rysowania spowodował wyjątek.

+0

Co jeśli powiem ci, że link jest martwy? Proszę wiedzieć, jak używać SO następnym razem. –

2

Wszystkie twoje @dimens należy zdefiniować

np

<resources> 
    <!-- Default margins, per the Android Design guidelines. --> 
    <dimen name="activity_horizontal_margin">16dp</dimen> 
    <dimen name="activity_vertical_margin">16dp</dimen> 
</resources> 

Mogłeś dodanej w tym na przykład te foldery

  • Wartości-sw600dp
  • Wartości-sw600dp- ziemia
  • wartości-v19
  • Wartości-xxhdpi

lub dowolnego innego folderu oczywiście gdzie mogliby należeć
Ale nie zapominaj, że te muszą również być w

  • wartości

Mają być również zdefiniowane tam

jeśli to nie problem, spróbuj utworzyć folder wartości-XXXX dla każdego układu-XXXX fol der masz

  • layout-xhdpi
  • wartościach xhdpi

I

  • układ dużych
  • wartości dużym

np

+0

Wszystkie wartości wymiarów, które wykorzystuję w opublikowanym xml, są zadeklarowane jako –

+0

@MeneerVenus Czy jesteś w 100% zadeklarowany wszędzie tam, gdzie powinien? –

+0

Tak, wartości znajdują się w pliku dimens.xml wewnątrz folderu wartości. –

0

miałem ten sam problem,

problemem było to, że użyłem DrawerLayout i że moja minSDK została ustawiona poniżej 14. zmiany, że problem został rozwiązany. Pakiety wsparcia i appcompat z jakiegoś powodu pozwalają na użycie DrawerLayout, ale brakuje definicji DrawerLayout dla układów.

zmiana minSDK na 14 poprawiono problem.

0

Może to być przyczyną korzystania z zasobów losowanych o wysokiej rozdzielczości. Sprawdzanie rozdzielczości plików do pobrania.

Powiązane problemy