2012-03-24 14 views
1

ScreenShotAPI-Demo: Wie heißt diese Box?

Was ist das kleine Feld am unteren Rand zeigt "d" genannt? Wie aktiviere ich es in meinem gefilterten SearchView? Wo kann es sonst noch verwendet werden?

Könnte es eine Art von Toast sein? Ich habe in API-Quellen gesucht und gesucht und konnte nicht herausfinden, wie ich sie definiere.

Antwort

4

Es ist ein PopupWindow http://developer.android.com/reference/android/widget/PopupWindow.html. Sie müssen es nicht aktivieren. Sein standardmäßig verwendet, wenn Sie Ihre Listview

listView.setTextFilterEnabled(true); 

und die PopupWindow zeigt sich einstellen, wenn Sie den Filtertext

listView.setFilterText("d"); 
+0

Ich schaute in den Code und sah nirgendwo Popup-Fenster erwähnt. –

+0

CTRL + F ist dein Freund –

+0

Ich habe meinen Beitrag bearbeitet, um zu erklären. Es ist standardmäßig von ListView bzw. AbsListView implementiert – 207

-1

Soweit ich weiß, wiederholt es einfach das, was Sie als Suchschlüssel eingegeben haben. Wenn Sie eine Liste ohne ein Textfeld haben, um Ihren Suchschlüssel einzugeben, ist es sehr praktisch zu wissen, was Sie eingegeben haben. Cliff

+0

OK, es war eine dumme Antwort. Nächstes Mal werde ich die Frage lesen. – cliff2310

1

i herausgefunden setzen oder löschen, wie diese hässlichen Popup-Fenster loszuwerden. Der Trick besteht darin, direkt mit dem Filter zu arbeiten. Der folgende Code geht davon aus, dass Sie filterbar in Ihrem customAdapter implementiert haben.

public boolean onQueryTextChange(String newText) { 
    if (TextUtils.isEmpty(newText)) { 
     m_listView.clearTextFilter(); 
    } else { 
     ContactsAdapter ca = (ContactsAdapter)lv.getAdapter(); 
     ca.getFilter().filter(newText); 
     //following line was causing the ugly popup window. 
     //m_listView.setFilterText(newText); 
    } 
    return true; 
}