如何在ListView上设置EditText?

时间:2010-04-06 08:45:36

标签: android listview layout

我正试图以自己的方式做一个自动完成版本(逻辑,布局, 等...),所以我不想使用AutoCompleteTextView。 我的问题是如何在类中的ListView上设置EditText 继承自ListAcvitivy。

我尝试了两种布局,但都没有。

第一个:

   <EditText android:id="@+id/autocomplete_server" 
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content" 
             android:layout_marginLeft="5dp" 
             android:completionThreshold="1" 
             android:singleLine="true"/> 

    <ListView  android:id="@id/android:list" 
               android:layout_width="fill_parent" 
               android:layout_height="fill_parent" 
               android:background="#000000" 
               android:layout_weight="1" 
               android:drawSelectorOnTop="false"/> 

     <TextView android:id="@id/android:empty" 
               android:layout_width="fill_parent" 
               android:layout_height="fill_parent" 
               android:background="#FF0000" 
               android:text="No data"/> 

这个只显示EditText,但不显示列表 第二个:

   <LinearLayout  android:id="@id/android:list" 
                  android:orientation="horizontal" 
                  android:layout_width="fill_parent" 
                  android:layout_height="wrap_content" 
                  android:padding="5dp"> 

    <EditText  android:id="@+id/autocomplete_server" 
               android:layout_width="fill_parent" 
               android:layout_height="wrap_content" 
               android:layout_marginLeft="5dp" 
               android:completionThreshold="1" 
               android:singleLine="true"/> 

    <ListView  android:layout_width="fill_parent" 
               android:layout_height="fill_parent" 
               android:background="#000000" 
               android:layout_weight="1" 
               android:drawSelectorOnTop="false"/> 

     </LinearLayout> 

这个样本给了我一个: java.lang.RuntimeException:无法启动活动 ComponentInfo {com.eip.core / com.eip.core.Search}: java.lang.ClassCastException:android.widget.LinearLayout

有没有人知道如何在上面实现EditText 一个listView?

2 个答案:

答案 0 :(得分:2)

这对我有用:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp">

    <EditText  
        android:id="@+id/autocomplete_server" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="5dp" 
        android:completionThreshold="1" 
        android:singleLine="true"/> 

    <ListView  
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:background="#000000" 
        android:layout_weight="1" 
        android:layout_below="@id/autocomplete_server"
        android:drawSelectorOnTop="false"/> 

</RelativeLayout>

您必须填写ListView,否则您无法看到它。

答案 1 :(得分:1)

我可以看到第二个布局中的方向设置为水平...尝试将其设置为垂直....

android:orientation="vertical"