Listview和textview采用相同的布局

时间:2012-05-22 05:27:28

标签: android listview

在我的应用程序中,我必须显示列表视图,然后在下面我必须显示textview。是否可以在同一布局中使用listview和textview? 我的代码如下:

  setContentView(R.layout.report);  
     ListView lv=(ListView)findViewById(R.id.listView1);
     db.open();
     Cursor c = db.getAllTitles();
     startManagingCursor(c);    
     String[] from = new String[] { db.KEY_INCOME,db.KEY_DESC};
     int[] to = new int[] { R.id.textView1 ,R.id.textView2};
     SimpleCursorAdapter notes =
                new SimpleCursorAdapter(this, R.layout.report, c, from, to);
//     System.out.println("notes="+notes.getCount());
     lv.setAdapter(notes);
    String total=  db.add();   

实际上我正在显示2个文本视图以显示列表中的数据,最后我必须添加第3个textview来显示总数,如果我把相对布局这个listview正确地覆盖了另一个。我的Xml文件如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >   

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
   />
<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
   /> 
<ListView
    android:id="@+id/listView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"        
    >
</ListView>  

任何人请帮帮我。谢谢你。

4 个答案:

答案 0 :(得分:0)

是的,但是每当列表大小超过屏幕高度时,您将永远无法看到textview。因此,不是将视图添加到LinearLayout中,而是将这些视图添加到RelativeLayout中,将ListView高度设置为填充父级,以及文本视图的上方。和TextView在父母底部的对齐。

答案 1 :(得分:0)

您可以在屏幕底部放置一个文本视图,让列表视图占据屏幕顶部和底部文本视图之间的整个空间

这种布局应该可以解决问题:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">  

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"/>

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_above="@id/textView1"/>
</RelativeLayout>

答案 2 :(得分:0)

是的,你可以使用Listview下面的Textview使用布局边距底部给一些填充到listview,并在Listview.so下面添加你的Textview用于此用途 RelativeLayout

答案 3 :(得分:0)

使用Linearlayout而不是Realitivelayout并将方向设置为“vertical”

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > 

<your textview/>
<your textview/>   

<your listview/>
<your textview with proper id/>

</LinearLayout>