1

这是我的 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 是不可见的。我想特别显示编辑文本,用户可以在其中写下他的联系人姓名的首字母)建议让他们可见?

4

2 回答 2

1

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

如果您只能看到 ListView ,那么您似乎正在使用 ListActivity 并忘记调用setContentView(). 所以你实际上并没有使用你的布局......你只看到 ListActivity 的默认 ListView。


也就是说,您的 XML 代码可以工作,但这里有一些简短的说明:

  1. 正如我在评论中所说,TextView 可能会被隐藏,具体取决于您使用的 Activity 或 Fragment 类型:
    • 一个ListActivity会自动绑定@+id/android:empty@+id/android:listViews,所以只有ListView为空的时候才会显示“空”的TextView。
    • Activity 无法@+id/android:empty自行识别。所有视图都应该是可见的。
  2. fill_parent已弃用,只需使用match_parent
  3. 设置 ListView 的高度以wrap_content强制适配器多次绘制 ListView ...我建议使用您的布局match_parent
于 2013-04-10T17:52:39.563 回答
-1

我会说您布局可以很好地看到它。但无论如何,我会让 listview 以这种方式声明:

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

所以它将占用所有剩余的可用空间

于 2013-04-09T18:32:49.603 回答