2015-06-27 7 views
5

Wie erkennt man einen Klick auf searchView?So erkennen Sie einen Klick irgendwo in einem SearchView

Ich habe versucht mit setOnClickListener, setOnSearchClickListener, setOnFocusChangedListener, aber ohne Erfolg.

Das Problem scheint nur auf Textfeld zu klicken. Wenn ich irgendwo außerhalb der Textbox aufClickListener-Auslöser klicke, aber nicht, wenn ich in das Textfeld klicke.

Das Problem, das ich zu lösen versuche, ist, dass ich schließen muss, wenn der Benutzer irgendwo klickt. Aber ich weiß nicht, wie man mit dem SearchView umgeht.

Antwort

1

Ich habe es geschafft, einen Weg zu finden, mein Problem zu lösen. Es ist ein bisschen hackish, aber es funktioniert. Sie haben die editText von Search zu bekommen und setzen OnClickListener es

int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null); 
    EditText editText = (EditText) searchView.findViewById(id); 
    editText.setOnClickListener(listener); 
+1

Oder einfacher: 'EditText editText = (EditText) searchView.findViewById (R.id.search_src_text);'. – Flawyte

+1

Ich habe das versucht, aber aus irgendeinem Grund hat es nicht funktioniert. Der editText wird als null ausgegeben. Ich habe keine Ahnung warum ... – ak7483

+0

Gibt es irgendwo in Ihrer 'R.java' Datei einen interger Wert namens' search_src_text'? – Flawyte