我的列表视图不填充父级

Tsu*_*aze 11 java android listview scrollview

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"

    <TextView 
        android:id="@+id/tv_test"
        android:text="Test "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
    <ListView 
        android:id="@+id/list_test"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@id/tv_test"

  ></ListView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

一切都在ScrollView中,我不知道为什么但相对布局似乎设置了一个包装内容.它使ListView变小,而不是占据整个地方.

我不知道它是否有用,但这是我的java代码:

public class ShowView extends Activity{
ListView lv;
ArrayAdapter<String> adapter;
String[] myList = {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Height", "Nine", "Ten"};
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.show);
    lv = (ListView) findViewById(R.id.list_test);
    adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, myList);
    adapter.setDropDownViewResource(android.R.layout.simple_list_item_1);
    lv.setAdapter(adapter);

}
}
Run Code Online (Sandbox Code Playgroud)

dro*_*kid 33

我认为你的ScrollView并没有填满整个屏幕.在scrollView中使用它

android:fillViewport="true"
Run Code Online (Sandbox Code Playgroud)


Mar*_*son 8

替换RelativeLayout为垂直LinearLayout,并设置android:layout_weight="1"android:layout_height="wrap_content"ListView:

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">

    <TextView 
        android:id="@+id/tv_test"
        android:text="Test "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <ListView 
        android:id="@+id/list_test"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_below="@id/tv_test" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

有关布局权重的更多信息,请查看此文章.

另外,我会ScrollView完全删除它.ListView管理滚动本身,如果你把它嵌入一个处理滚动的容器中,你将遇到各种问题.如果要@is/tv_testListView内容一起滚动,请考虑将其ListView作为标题放入您的内容中.如果你希望它在ListView滚动时保持静止,那么将它保持在外面ListView.