1

我正在使用以下 XML 文件来创建布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget28"
    android:layout_width="fill_parent"
    android:layout_height="80px">
  <LinearLayout
      android:id="@+id/linearText"
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:orientation="vertical"
      android:layout_marginLeft="10px"
      android:layout_marginTop="10px">
    <TextView
        android:id="@+id/txtAirLineCodeLv"
        android:text="TextView" />
    <ImageView
    android:id="@+id/StopDetailBtnLv"/>
    <TextView
        android:id="@+id/txtPriceLv"
        android:text="TextView" />
  </LinearLayout>
  <LinearLayout
    android:id="@+id/linearText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <ImageView
  android:id="@+id/imgFlightLogoLv" />
  </LinearLayout>
  <LinearLayout
  android:id="@+id/linearText2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
    <TextView
         android:id="@+id/txtTotalDurationLv"
         android:text="TextView" />
    <TextView
      android:id="@+id/txtStopCountLv"
      android:text="TextView" />
  </LinearLayout>
  <LinearLayout
android:id="@+id/linearText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
    <TextView
         android:id="@+id/txtOrgLv"
        android:text="TextView" />
  </LinearLayout>
</LinearLayout>

但是当我使用以下代码加载此文件时:

view = context.LayoutInflater.Inflate(Resource.Layout.CustomizeSearchResult, parent, false) as LinearLayout;

aRuntimeException被抛出。我认为我的布局有问题,但我找不到。因为当我加载另一个 XML 文件代替它时,不会显示错误并且它运行成功。

4

2 回答 2

1

You forgot to specify the layout_height and layout_width for TextViews and ImageView

于 2012-08-01T04:42:18.323 回答
1

在这里,您没有将heightand设置weightImageViewand TextView

height and weight如果您给予适当的 UI 元素,图形布局将对您可见。

如果您想以编程方式为 UI 元素设置高度和重量,您可以使用 java.util 设置高度和重量。您不必担心XML布局中给出的尺寸。

我确信这些身高和体重会在运行时改变。

像这样更改您的xml

<?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/widget28"
   android:layout_width="fill_parent"
   android:layout_height="80px">
  <LinearLayout
   android:id="@+id/linearText"
   android:layout_width="wrap_content"
   android:layout_height="fill_parent"
   android:orientation="vertical"
   android:layout_marginLeft="10px"
   android:layout_marginTop="10px">
 <TextView
    android:id="@+id/txtAirLineCodeLv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />
<ImageView
    android:id="@+id/StopDetailBtnLv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
<TextView
    android:id="@+id/txtPriceLv"
    android:text="TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
  android:id="@+id/linearText1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
 <ImageView
 android:id="@+id/imgFlightLogoLv" 
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:id="@+id/linearText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
   android:id="@+id/txtTotalDurationLv"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="TextView" />
<TextView
  android:id="@+id/txtStopCountLv"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="TextView" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
     android:id="@+id/txtOrgLv"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
    android:text="TextView" />
</LinearLayout>
</LinearLayout>
于 2012-08-01T05:19:14.993 回答