下面是我的代码,就在最后红色的地方加入linearlayout,加载到模拟器之后就会出现程序关闭的提示,这是怎么回事?莫非是在tablelayout中不能嵌套linearlayout?还是我的方法不对?谢谢各位大牛啦~
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5px"
    android:stretchColumns="1"
    >
<TextView  
        android:id="@+id/title"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/title"
    android:gravity="center_horizontal"
    android:padding="5px"
    />
<TableRow>
<TextView
        android:id="@+id/name"
        android:text="@string/name"
        android:padding="5px"
        />
<EditText
        android:id="@+id/ename"
        android:padding="15px"
        />
</TableRow><TableRow>
<TextView
        android:id="@+id/code"
        android:text="@string/code"
        android:padding="5px"
        />
<EditText
        android:id="@+id/ecode"
        android:padding="15px"
        android:password="true"
        />
</TableRow><TableRow>
<TextView
        android:id="@+id/gender"
        android:text="@string/gender"
        />
<RadioGroup>
<RadioButton
        android:id="@+id/male"
        android:text="@string/male"
        />
<RadioButton
        android:id="@+id/female"
        android:text="@string/female"
        />
</RadioGroup>
</TableRow><TableRow>
<TextView
        android:id="@+id/favor"
        android:text="@string/favor"
        />
<CheckBox
        android:id="@+id/run"
        android:text="@string/run"
        />
<CheckBox
        android:id="@+id/swim"
        android:text="@string/swim"
        />
</TableRow><LinearLayout
        android: orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
<Button
        android:id="@+id/cancle"
        android:text="@string/cancle"
        android:layout_weight="1"
        />
<Button
        android:id="@+id/yes"
        android:text="@string/yes"
        android:layout_weight="1"
        />
</LinearLayout>
</TableLayout>

解决方案 »

  1.   

    android: orientation="horizontal"
    ->
    android:orientation="horizontal"
    去掉冒号后面的空格,
    我试过了,没问题。
      

  2.   

    那个空格是发帖的时候加上去的,真正代码里没有。你模拟的时候是多少的sdk?我是1.6的,是不是1.6不支持然后后来的就支持了呢?
      

  3.   

    我的2.2
    另外你的string字符串都定义了吧?这个是我去掉字符串定义的代码
    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:padding="5px"
      android:stretchColumns="1"
      >
    <TextView   
      android:id="@+id/title"
      android:layout_width="fill_parent"  
      android:layout_height="wrap_content"  
      android:text="title"
      android:gravity="center_horizontal"
      android:padding="5px"
      />
    <TableRow>
    <TextView
      android:id="@+id/name"
      android:text="name"
      android:padding="5px"
      />
    <EditText
      android:id="@+id/ename"
      android:padding="15px"
      />
    </TableRow><TableRow>
    <TextView
      android:id="@+id/code"
      android:text="code"
      android:padding="5px"
      />
    <EditText
      android:id="@+id/ecode"
      android:padding="15px"
      android:password="true"
      />
    </TableRow><TableRow>
    <TextView
      android:id="@+id/gender"
      android:text="gender"
      />
    <RadioGroup>
    <RadioButton
      android:id="@+id/male"
      android:text="male"
      />
    <RadioButton
      android:id="@+id/female"
      android:text="female"
      />
    </RadioGroup>
    </TableRow><TableRow>
    <TextView
      android:id="@+id/favor"
      android:text="favor"
      />
    <CheckBox
      android:id="@+id/run"
      android:text="run"
      />
    <CheckBox
      android:id="@+id/swim"
      android:text="swim"
      />
    </TableRow><LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <Button
    android:id="@+id/cancle"
    android:text="cancle"
    android:layout_weight="1"
    />
    <Button
    android:id="@+id/yes"
    android:text="yes"
    android:layout_weight="1"
    />
    </LinearLayout></TableLayout>
      

  4.   

    res -> layout -> 右键New -> File
    输入一个xml文件名,例如“table.xml”,必须全小写
    拷贝3L代码,保存
      

  5.   

    还是不行啊要么我把project发给你吧,麻烦啦~
      

  6.   

    但是我把linearlayout去掉,直接写上去两个button,或者是写在一个tablerow里是可以的
      

  7.   

    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:padding="5px"
      android:stretchColumns="1"
      >
    <TextView   
      android:id="@+id/title"
      android:layout_width="fill_parent"  
      android:layout_height="wrap_content"  
      android:text="title"
      android:gravity="center_horizontal"
      android:padding="5px"
      />
    <TableRow>
    <TextView
      android:id="@+id/name"
      android:text="name"
      android:padding="5px"
      />
    <EditText
      android:id="@+id/ename"
      android:padding="15px"
      />
    </TableRow><TableRow>
    <TextView
      android:id="@+id/code"
      android:text="code"
      android:padding="5px"
      />
    <EditText
      android:id="@+id/ecode"
      android:padding="15px"
      android:password="true"
      />
    </TableRow><TableRow>
    <TextView
      android:id="@+id/gender"
      android:text="gender"
      />
    <RadioGroup>
    <RadioButton
      android:id="@+id/male"
      android:text="male"
      />
    <RadioButton
      android:id="@+id/female"
      android:text="female"
      />
    </RadioGroup>
    </TableRow><TableRow>
    <TextView
      android:id="@+id/favor"
      android:text="favor"
      />
    <CheckBox
      android:id="@+id/run"
      android:text="run"
      />
    <CheckBox
      android:id="@+id/swim"
      android:text="swim"
      />
    </TableRow><LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <Button
    android:id="@+id/cancle"
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:text="cancle"
    android:layout_weight="1"
    />
    <Button
    android:id="@+id/yes"
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"
    android:text="yes"
    android:layout_weight="1"
    />
    </LinearLayout>
    </TableLayout>
    找到原因了,是linearlayout中的button没有设置width和height属性,加上这个两个属性就可以了。
    我刚才的时候只是预览有效果,没有在模拟器里允许。刚才允许报错,看logcat里提示才知道。
      

  8.   

    我刚才的时候只是预览有效果,没有在模拟器里运行。刚才运行报错,看logcat里提示才知道。