0

このレイアウトは、listView 内の項目のレイアウトとして使用されます。私は非常に単純なレイアウトを持っていて、すべてが正常に機能していましたが、今は少し変更しており、ロードしようとするとアプリがクラッシュしています.何が間違っているのかわかりません

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:weightSum="8"
    android:layout_width="fill_parent"
    android:layout_height="75dp">

   <TextView android:id="@+id/priceText"
        android:layout_weight="2"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textStyle="bold"
        android:textSize="22dp"
        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dp" />

   <LinearLayout
        android:layout_weight="5"
        android:layout_height="fill_parent"
        android:weightSum="2" 
        android:orientation="vertical">

       <TextView android:id="@+id/storeText"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:gravity="right|bottom"
            android:textStyle="bold"
            android:textSize="22dp"
            android:textColor="#000000"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />

       <TextView android:id="@+id/distanceText"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:gravity="right|top"
            android:textSize="16dp"
            android:textColor="#545454"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />

   </LinearLayout>

   <TextView
       android:layout_height="fill_parent"
       android:layout_alignParentBottom="true"
       android:layout_alignParentTop="true"
       android:layout_marginBottom="5dp"
       android:layout_marginTop="5dp"
       android:layout_weight="1"
       android:gravity="right|center_vertical"
       android:text=">"
       android:textColor="#000000"
       android:textSize="36dp"
       android:textStyle="bold" 
       android:layout_marginRight="5dp" />

</LinearLayout>
4

5 に答える 5

2

android:layout_weight put layout_width="0dip" を使用する場合

作業コード

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:weightSum="8"
    android:layout_width="fill_parent"
    android:layout_height="75dp">

   <TextView android:id="@+id/priceText"
        android:layout_weight="2"
        android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textStyle="bold"
        android:textSize="22dp"
        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dp" />

   <LinearLayout
        android:layout_weight="5"
        android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:weightSum="2" 
        android:orientation="vertical">

       <TextView
           android:id="@+id/storeText"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_marginBottom="5dp"
           android:layout_marginTop="5dp"
           android:layout_weight="1"
           android:gravity="right|bottom"
           android:textColor="#000000"
           android:textSize="22dp"
           android:textStyle="bold" />

       <TextView
           android:id="@+id/distanceText"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_marginBottom="5dp"
           android:layout_marginTop="5dp"
           android:layout_weight="1"
           android:gravity="right|top"
           android:textColor="#545454"
           android:textSize="16dp" />

   </LinearLayout>

   <TextView
       android:layout_height="fill_parent"
       android:layout_width="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_alignParentTop="true"
       android:layout_marginBottom="5dp"
       android:layout_marginTop="5dp"
       android:layout_weight="1"
       android:gravity="right|center_vertical"
       android:text=">"
       android:textColor="#000000"
       android:textSize="36dp"
       android:textStyle="bold" 
       android:layout_marginRight="5dp" />

</LinearLayout>
于 2012-12-20T08:49:52.557 に答える
1

すべてのビューにandroid:layout_width=".."およびを追加する必要があります。android:layout_height=".."

   <TextView android:id="@+id/storeText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right|bottom"
        android:textStyle="bold"
        android:textSize="22dp"
        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" />

   <TextView android:id="@+id/distanceText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right|top"
        android:textSize="16dp"
        android:textColor="#545454"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" />

   </LinearLayout>

  <TextView
   android:layout_height="fill_parent"
   android:layout_width="0dp"
   android:layout_alignParentBottom="true"
   android:layout_alignParentTop="true"
   android:layout_marginBottom="5dp"
   android:layout_marginTop="5dp"
   android:layout_weight="1"
   android:gravity="right|center_vertical"
   android:text=">"
   android:textColor="#000000"
   android:textSize="36dp"
   android:textStyle="bold" 
   android:layout_marginRight="5dp" />

</LinearLayout>
于 2012-12-20T08:44:47.063 に答える
0

あなたが幅を与えなかった android_layout_weight を与えたすべての要素。要素が特定のスペースを取るようにこの重みを指定した場合は、レイアウト android:layout_width="0" を指定して、幅として重みを取る必要があります

高さと幅は、すべての要素に必須のタグです

于 2012-12-20T08:46:14.620 に答える
0

レイアウトの幅とレイアウトの高さの属性がいくつかありません。すべての項目に追加しました。

以下のコードを使用してください。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:weightSum="8"
    android:layout_width="fill_parent"
    android:layout_height="75dp">

   <TextView android:id="@+id/priceText"
        android:layout_weight="2"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textStyle="bold"
        android:textSize="22dp"
        android:layout_width="wrap_content"

        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dp" />

   <LinearLayout
        android:layout_weight="5"
        android:layout_height="fill_parent"
        android:weightSum="2" 
        android:layout_width="wrap_content"
        android:orientation="vertical">

       <TextView android:id="@+id/storeText"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="right|bottom"
            android:textStyle="bold"
            android:textSize="22dp"

            android:textColor="#000000"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />

       <TextView android:id="@+id/distanceText"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="right|top"
            android:textSize="16dp"
            android:textColor="#545454"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />

   </LinearLayout>

   <TextView
       android:layout_height="fill_parent"
       android:layout_alignParentBottom="true"
       android:layout_alignParentTop="true"
       android:layout_marginBottom="5dp"
       android:layout_marginTop="5dp"
       android:layout_weight="1"
       android:gravity="right|center_vertical"
       android:text=">"
        android:layout_width="fill_parent"

       android:textColor="#000000"
       android:textSize="36dp"
       android:textStyle="bold" 
       android:layout_marginRight="5dp" />

</LinearLayout> 
于 2012-12-20T08:49:05.020 に答える
0

このレイアウトで何を達成したいのか正確にはわかりませんが、xml にはほとんど間違いがありません。

  1. いろいろなところに幅と高さが欠けています。それらを追加することを検討してください。

  2. 親タグとして LinearLayout を追加していますが、次のような RelativeLayout タグを使用しています

    Android:layout_alignParentBottom="true" Android:layout_alignParentTop="true"

    それらを削除することを検討してください。

  3. とを適切に組み合わせて使用android:layout_weight="" ​​するandroid:layout_height="" , android:layout_width=""

説明やヘルプが必要な場合はコメントしてください

于 2012-12-20T09:03:32.057 に答える