我有一个listview的活动,该活动会从xml文件中填充首选项,然后是另一个listview,它由我的数据库中的数据填充,然后是textview和edittext。
我希望屏幕上的每个元素(包括所有列表视图)都占据其全部高度,并且整个屏幕都可以滚动,但我无法弄清楚如何做到这一点!
下面是我的xml:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:fillViewport="true" >
<LinearLayout
android:id="@+id/llContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/llPreferences"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
<LinearLayout
android:id="@+id/llPlaces"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="1" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textAppearance="?android:attr/textAppearanceLarge" >
</TextView>
<ListView
android:id="@+id/lstPlaces"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
<LinearLayout
android:id="@+id/llAddNewPlace"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/txtNewPlaceName"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</EditText>
<Button
android:id="@+id/btnAddNewPlace"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add New" >
</Button>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
为什么这不能按照我的意愿和预期表现出来?
谢谢, 最大
答案 0 :(得分:0)
嗯,首先,没有理由将ListView封装在线性布局内部的线性布局中。实际上,没有理由将任何视图封装在两个LinearLayouts中。试试这个,看看会发生什么:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:fillViewport="true" >
<LinearLayout
android:id="@+id/llContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textAppearance="?android:attr/textAppearanceLarge" >
</TextView>
<ListView
android:id="@+id/lstPlaces"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
<EditText
android:id="@+id/txtNewPlaceName"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</EditText>
<Button
android:id="@+id/btnAddNewPlace"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add New" >
</Button>
</LinearLayout>
</ScrollView>
答案 1 :(得分:0)
永远不要将ListView放在ScrollView中,因为没有好的方法可以区分两个嵌套的可滚动容器。
答案 2 :(得分:0)
解决这个问题的解决方案问题:
Android ScrollView layout problem
不幸的是,您似乎无法在scrolllayout中拥有列表视图。
对于有兴趣的人,可以在现在或将来找到潜在的解决方法: