在Android中设置ListView时,编辑文本和文本视图不可见

时间:2013-04-09 18:29:22

标签: android listview xml-layout

这是我的Android应用程序的xml布局(我显示所有联系人)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">

   <TextView
       android:id="@+id/android:empty"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_marginLeft="5dip"
       android:layout_marginTop="5dip"
       android:text="Scegli il contatto:"
         />

   <EditText 
       android:id="@+id/editTextSend"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"/>

   <ListView
       android:id="@+id/android:list"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content" >
   </ListView>

</LinearLayout>

我使用自定义适配器填充ListView。 但textView和Edit Text不可见。我想特别显示编辑文本,用户可以在其中写下他的联系人姓名的首字母) 建议让它们可见?

2 个答案:

答案 0 :(得分:1)

  

我填充ListView ...但textView和Edit Text不可见。

如果您只能看到ListView,则表明您正在使用ListActivity而忘记致电setContentView()。所以你实际上并没有使用你的布局...你只看到ListActivity的默认ListView。


那就是说,你的XML代码会起作用,但这里有一些快速的说明:

  1. 正如我在评论中所述,TextView可能会隐藏,具体取决于您使用的活动或片段的类型:
    • ListActivity会自动绑定@+id/android:empty@+id/android:list视图,因此仅当ListView为空时才会显示“空”TextView。
    • 活动无法自行识别@+id/android:empty。所有视图都应该可见。
  2. fill_parent已弃用,只需使用match_parent
  3. 即可
  4. 将ListView的高度设置为wrap_content会强制适配器多次绘制ListView ...我的建议使用match_parent

答案 1 :(得分:-1)

我说你的布局可以很好地看到 。但无论如何,我会以这样的方式宣布listview:

<ListView
   android:id="@+id/android:list"
   android:layout_width="fill_parent"
   android:layout_height="0dp"
   android:layout_weight="1" >

所以它将占用所有剩余空闲空间