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 を使用すると、フィルターは壊れません。それは私の回避策である必要があるかもしれません。