2013-06-08 14 views
9

Już o tym czytałem, ale wciąż jest tutaj.Aktywność Androida Binarna linia pliku XML: musisz podać atrybut layout_width

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
tools:context=".TaskEditActivity" > 

więc wyjątek java.lang.RuntimeException: Binary XML file line #34: You must supply a layout_width attribute.

Atrybut jest tam schemat zbyt ... rozwiązanie?

+5

czysty i rebu ild?I opublikuj cały układ – Blackbelt

+3

Jestem pewny, że w jednym z widoków podrzędnych w twoim układzie brakuje atrybutu szerokości układu. Proszę sprawdź " – amalBit

+0

Czy możesz wysłać swój cały plik XML, proszę? – MrByte

Odpowiedz

5

Jest jasne. Elementy potomne nie mają atrybutu layout_width.

2

Twój problem nie jest w tym elemencie układu, jego na wewnętrznym jednego, spojrzeć na linii numer 34. Jest to kolejny element interfejsu użytkownika, że ​​brakuje layout_width atrybut.

0

Dla mnie, w środku jednego z moich layout.xml plików, miałem

<ImageView 
    android:id="@+id/row_1_col_0" 
    android:layout_width="@string/default_picture_size" 
    android:layout_height="@string/default_picture_size" 
    android:layout_weight="1" 
    android:background="@drawable/tile" 
    android:onClick="mClickMethod" > 
</ImageView> 

i wewnątrz strings.xml miałem wrap_content

i tak było widać to w Android Studio:

<ImageView 
    android:id="@+id/row_1_col_0" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:background="@drawable/tile" 
    android:onClick="mClickMethod" > 
</ImageView> 

Myślałem, że wszystko będzie działać, ponieważ nie wystąpiły błędy, a aplikacja została skompilowana i uruchomiona. Wystąpił jednak błąd czasu wykonywania, który stwierdził, że nie ustawiłem szerokości układu.

Gdy zmieniłem layout_width i layout_height od:

android:layout_width="@string/default_picture_size" 
android:layout_height="@string/default_picture_size" 

do

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

wszystko działało.

2

Dla mnie było to, że dodatkowy atrybut w jednej z moich widoku grup (Scrollview):

xmlns:android="http://schemas.android.com/apk/res/android" 

Potem było zapomniałem zmienić odlewania EditText do TextView:

wyrządzoną przez: java.lang.ClassCastException: android.support.v7.widget.AppCompatTextView nie mogą być oddane do android.widget.EditText

9

również polecam sprawdzić dimens. Możesz mieć szerokość układu w dimensach, idziesz do niego i masz wartość wartość "150", a nie "150dp" (brakujące dp) również powoduje to (to był mój przypadek)

0

W moim przypadku miałem wymiar dla danej szerokości, ale to nie był obecny w domyślnym dimens.xml

res/ 
    values-w320dp/ 
      dimens.xml -> ring_radius=5dp 
    values/ 
      dimens.xml -> missing ring_radius 
0

tylko okrywać wszystkie rozwiązania nie działają
clean project ->run okrzyki

Powiązane problemy