diff --git a/res/layout/dialog_app_chooser_list.xml b/res/layout/dialog_app_chooser_list.xml index 40f53e8..1de9ca2 100644 --- a/res/layout/dialog_app_chooser_list.xml +++ b/res/layout/dialog_app_chooser_list.xml @@ -14,6 +14,9 @@ android:layout_height="fill_parent" android:layout_toLeftOf="@+id/searchButton" android:ems="10" + android:imeOptions="actionSearch" + android:maxLines="1" + android:inputType="text" android:hint="@android:string/search_go" > diff --git a/src/com/cherish/settings/fragments/HAFRAppChooserDialog.java b/src/com/cherish/settings/fragments/HAFRAppChooserDialog.java index a0e98ff..df79f1d 100644 --- a/src/com/cherish/settings/fragments/HAFRAppChooserDialog.java +++ b/src/com/cherish/settings/fragments/HAFRAppChooserDialog.java @@ -2,15 +2,18 @@ package com.cherish.settings.fragments; import android.app.Dialog; import android.content.Context; +import android.view.inputmethod.EditorInfo; import android.view.View; import android.view.Window; import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; import android.widget.EditText; import android.widget.Filter; import android.widget.ImageButton; +import android.view.KeyEvent; import android.widget.ListView; import android.widget.ProgressBar; -import android.widget.AdapterView.OnItemClickListener; +import android.widget.TextView; import com.android.settings.R; @@ -68,6 +71,21 @@ public abstract class HAFRAppChooserDialog extends Dialog { } }); + dSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + if (actionId == EditorInfo.IME_ACTION_SEARCH) { + dAdapter.getFilter().filter(dSearch.getText().toString(), new Filter.FilterListener() { + public void onFilterComplete(int count) { + dAdapter.update(); + } + }); + return true; + } + return false; + } + }); + dAdapter.update(); }