我正在为我的nexus 7平板电脑编写一个小应用程序,我有一个奇怪的错误。据我了解以下xml
<?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:gravity="center_horizontal"
android:orientation="vertical" >
<ScrollView>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dip">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="name"
android:inputType="text"
android:textSize="20sp"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="smells more like prey than a hunter."/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="2dip">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="The spirits spoke to me of a great danger that follows"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="name"
android:inputType="text"
android:textSize="20sp"/>
</TableRow>
</ScrollView>
</TableLayout>
应该生成一个带有两行的可滚动应用程序,每行都写有一个带有灰色name
的文本字段,文本环绕着它,以及将在将要尝试的文本之前或之后写入的其他文本填满屏幕。但是,当我编译它时,应用程序崩溃(unfortunately, has stopped
)。如果我删除ScrollView
属性,则两条线的长度相同,EditText
在横向模式下占用每条线的一半空间。在纵向模式下,第一行仅包含EditText
字段,第二行仅包含TextView
字段。它让我觉得桌子试图将两条线条放到相同的长度,但我不明白为什么。
我该如何解决这个问题?
点评:
我使用aide生成的库结构,我只使用它在平板电脑上编译我的代码。
答案 0 :(得分:1)
将您的表格布局全部放在scrollview中。 scrollview只能托管一个直接孩子,但那个孩子可以有很多孩子!你还需要一个scrollview的高度和宽度
这里
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="name"
android:inputType="text"
android:textSize="20sp"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp"
android:text="smells more like prey than a hunter."/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="name"
android:inputType="text"
android:textSize="20sp"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:gravity="center"
android:text="The spirits spoke to me of a great danger that follows"/>
</LinearLayout>
</TableLayout>
</ScrollView>
应该适用于你。
尝试上面的布局而不是你的布局让我知道它是否有帮助。说实话我认为你想要一个listview和一个适配器......