SearchView setOnClickListener NOT WORKING

Aid*_*Fry 2 android click searchview

任何人都可以看到为什么这不起作用..

我的SearchView位于ActionBar中并始终显示.我想知道用户何时按下搜索视图...而不是当它扩展或获得焦点时.

此代码位于onCreateOptionsMenu中

             SearchView = _searchView;

                SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
            _searchView = (SearchView) menu.findItem(R.id.menu_finder_text_search).getActionView();
            _searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
            _searchView.setIconifiedByDefault(false); // Do not iconify the widget, we want to keep it open!
            _searchView.setFocusable(false);
            _searchView.setClickable(true);

            _searchView.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    //DO SOMETHING!
                }
            });
Run Code Online (Sandbox Code Playgroud)

任何人?

Tri*_*nea 6

SearchView继承自LinearLayout,因此我们可以为每个子项设置setOnClickListener,如下所示:

public static void setSearchViewOnClickListener(View v, OnClickListener listener) {
    if (v instanceof ViewGroup) {
        ViewGroup group = (ViewGroup)v;
        int count = group.getChildCount();
        for (int i = 0; i < count; i++) {
            View child = group.getChildAt(i);
            if (child instanceof LinearLayout || child instanceof RelativeLayout) {
                setSearchViewOnClickListener(child, listener);
            }

            if (child instanceof TextView) {
                TextView text = (TextView)child;
                text.setFocusable(false);
            }
            child.setOnClickListener(listener);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

来自:http://www.trinea.cn/android/searchview-setonclicklistener-not-working/