如何检测SearchView上的任何位置的单击

ak7*_*483 6 android searchview

如何检测searchView上的点击?

我尝试过使用setOnClickListener,setOnSearchClickListener,setOnFocusChangedListener,但无济于事.

问题似乎只是点击文本框.如果我单击文本框外的任何位置onClickListener触发器,但是如果单击文本框内部则不会.

我试图解决的问题是,如果用户点击任何地方,我需要关闭.但我不知道如何处理SearchView.

ak7*_*483 4

我已经设法找到解决我的问题的方法。这有点hackish,但它确实有效。您必须从 searchView 获取 editText 并将 OnClickListener 设置为它

    int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
    EditText editText = (EditText) searchView.findViewById(id);
    editText.setOnClickListener(listener);
Run Code Online (Sandbox Code Playgroud)

  • 或者更简单地说:`EditText editText = (EditText) searchView.findViewById(R.id.search_src_text);`。 (2认同)
  • 我已经尝试过,但由于某种原因它不起作用。editText 为空。我不知道为什么... (2认同)