1

DrawerLayout はまだ比較的新しいため、これは単なる Android のバグであると残念に感じています。

基本的に私が持っているのは、ArrayAdapter が設定された ListView です。以前は問題なく textfilter 検索を実行していました。しかし、その後、レイアウトに DrawerLayout を実装することにしました。引き出しが追加されるとすぐに、テキスト フィルタリングが壊れます。

以前は、ソフトウェア キーボードがポップアップし、入力を開始すると (入力内容が画面にオーバーレイ表示されます)、リストはその文字列でフィルター処理されていました。

ドロワー レイアウトでは、キーボードがポップアップしますが、入力しても何も起こりません。

レイアウト コードを削除するとすぐに、検索機能が再び機能し始めたので、ドロワー レイアウトが原因であると確信しています。

参考までに、ここに私の XML を示します。

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/header_container">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:gravity="center_vertical"
            android:id="@+id/header_text" />
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@id/header_text"
            android:layout_alignBottom="@id/header_text"
            android:layout_alignParentRight="true"
            android:id="@+id/searchbutton"
            android:background="@android:color/transparent"
            android:src="@drawable/ic_menu_search"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/header_text"
            android:layout_toLeftOf="@id/searchbutton"
            android:layout_alignParentTop="true"
            android:gravity="center"
            android:visibility="visible"
            android:id="@+id/headerClassField"/>
        <ListView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/header_text"
            android:fastScrollEnabled="true"
            android:id="@+id/spell_list_view" />

    </RelativeLayout>

    <include layout="@layout/drawer_spell_list"/>
</android.support.v4.widget.DrawerLayout>

そして、含まれている引き出しコード:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="240dp"
              android:layout_gravity="left"
              android:background="@color/midnight_blue"
              android:layout_height="match_parent">

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="3dp"
        android:orientation="horizontal">
        <ImageView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:src="@drawable/star"/>
        <TextView
            android:id="@+id/drawer_metamagic_link"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:textSize="16sp"
            android:layout_marginLeft="5dp"
            android:gravity="center_vertical"
            android:text="@string/drawer_metamagic"/>
    </LinearLayout>

    <LinearLayout
        style="@style/drawer_border"/>

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="3dp"
        android:orientation="horizontal">
        <ImageView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:src="@drawable/inward_arrows"/>
        <TextView
            android:id="@+id/drawer_longclick_link"
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:textSize="16sp"
            android:layout_marginLeft="5dp"
            android:gravity="center_vertical"
            android:text="@string/drawer_longclick"/>
    </LinearLayout>



    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="32sp"
        android:text="..."/>

    <include layout="@layout/drawer_main"/>

</LinearLayout>

引き出しは完全に機能しますが、引き出しが含まれていると検索が機能しません。どんな助けでも大歓迎です!

編集:興味深いことに、DrawerLayout ではなく SlidingPanelLayout を使用すると、フィルターは壊れません。それは私の回避策である必要があるかもしれません。

4

0 に答える 0