2013-06-08 5 views
9

L'ho già letto, ma è ancora qui.Attività Android Linea file XML binaria: è necessario fornire un attributo 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" > 

Così, l'eccezione java.lang.RuntimeException: Binary XML file line #34: You must supply a layout_width attribute.

attributo è lì, lo schema troppo ... soluzione?

+5

pulito e rebu ild?E postare l'intero layout – Blackbelt

+3

Sono sicuro che una delle viste secondarie nel tuo layout mancherà di un attributo di larghezza del layout .. perfavore verifica " – amalBit

+0

Puoi pubblicare l'intero file XML per favore? – MrByte

risposta

5

È chiaro. Elemento secondario mancante dell'attributo layout_width.

2

Il tuo problema non è in questo elemento di layout, è in quello interno, dai un'occhiata al numero di riga 34. C'è un altro elemento di interfaccia utente che manca dell'attributo layout_width.

0

Per me, all'interno di uno dei miei file layout.xml, ho avuto

<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> 

e dentro strings.xml, ho avuto wrap_content

e così è stato che mostra questo in 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> 

Ho pensato che tutto funzionasse perché non c'erano errori e l'applicazione compilata ed eseguita. Tuttavia, c'era un errore di run time che diceva che non avevo impostato il layout_width.

Una volta ho cambiato layout_width e layout_height da:

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

a

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

tutto ha funzionato.

2

Per me era avere un attributo in più su uno dei miei gruppi vista (ScrollView):

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

Dopo che c'era ho dimenticato di cambiare il mio colata di EditText a TextView:

Causato da: java.lang.ClassCastException: android.support.v7.widget.AppCompatTextView non può essere lanciato a android.widget.EditText

9

Inoltre vi consiglio controllare i dimens. Si può avere larghezza layout in dimens, si va ad esso e si dispone valore come "150" e non "150dp" (dp mancante) causano anche questo (che era il mio caso)

0

Nel mio caso, ho avuto un dimensione per una data larghezza, ma non era presente nella dimens.xml predefinita

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

solo in caso tutte le soluzioni non funzionano
clean project ->run applausi

Problemi correlati