Как установить EditText поверх ListView? - PullRequest
0 голосов
/ 06 апреля 2010

Я пытаюсь сделать версию автозаполнения по-своему (логика, макет, и т. д.), поэтому я не хочу использовать AutoCompleteTextView. Мой вопрос заключается в том, как установить EditText поверх ListView в классе наследование от 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 ]

2 голосов
/ 06 апреля 2010

Это работает для меня:

<?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 голос
/ 06 апреля 2010

Я вижу, что ориентация вашего второго макета установлена ​​на горизонтальный ... Попробуйте установить его на Вертикальный ....

android:orientation="vertical" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...