android.support.v7.widget.SearchView#setOnQueryTextFocusChangeListener ( )源码实例Demo

下面列出了android.support.v7.widget.SearchView#setOnQueryTextFocusChangeListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: TouchNews   文件: MusicFragment.java
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_music, menu);
    super.onCreateOptionsMenu(menu, inflater);
    mMenuItemSearch = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
    mMenuItemSearch.setOnCloseListener(new SearchView.OnCloseListener() {
        @Override
        public boolean onClose() {
            mListView.setVisibility(View.GONE);
            //刷新待选List 为默认值
            updateSearchList(mSearchChooseDef);
            return false;
        }
    });
    //文本输入框可见、显示ListView
    mMenuItemSearch.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                mListView.setVisibility(View.VISIBLE);
            }
        }
    });
    mMenuItemSearch.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            //文本输入改变实时搜索关键字
            mMusicsPresenter.searchMusic(newText);
            //文本输入改变 List 滑动到顶部
            mListView.setSelection(0);
            return true;
        }
    });

}
 
源代码2 项目: memetastic   文件: MainActivity.java
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
    getMenuInflater().inflate(R.menu.main__menu, menu);
    updateSearchFilter("");
    boolean isCreateTab = _bottomNav.getSelectedItemId() == R.id.nav_mode_create;
    menu.findItem(R.id.action_picture_from_camera).setVisible(isCreateTab);
    menu.findItem(R.id.action_picture_from_gallery).setVisible(isCreateTab);
    menu.findItem(R.id.action_search_meme).setVisible(isCreateTab);

    _searchItem = menu.findItem(R.id.action_search_meme);
    _searchView = (SearchView) _searchItem.getActionView();

    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
    _searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    _searchView.setQueryHint(getString(R.string.search_meme__appspecific));
    if (_searchView != null) {
        _searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                if (query != null) {
                    updateSearchFilter(query);
                }
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                if (newText != null) {
                    updateSearchFilter(newText);
                }
                return false;
            }
        });
        _searchView.setOnQueryTextFocusChangeListener((v, hasFocus) -> {
            if (!hasFocus) {
                _searchItem.collapseActionView();
                updateSearchFilter("");
            }
        });
    }
    return true;
}
 
源代码3 项目: writeily-pro   文件: MainActivity.java
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);

    final MenuItem searchItem = menu.findItem(R.id.action_search);

    final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);

    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    if (searchView != null) {
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                if (query != null) {
                    if (notesFragment.isVisible())
                        notesFragment.search(query);
                }
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                if (newText != null) {
                    if (notesFragment.isVisible()) {
                        if (newText.equalsIgnoreCase("")) {
                            notesFragment.clearSearchFilter();
                        } else {
                            notesFragment.search(newText);
                        }
                    }
                }
                return false;
            }
        });

        searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {

                menu.findItem(R.id.action_import).setVisible(false);
                menu.findItem(R.id.action_settings).setVisible(false);

                if (!hasFocus) {
                    menu.findItem(R.id.action_import).setVisible(true);
                    menu.findItem(R.id.action_settings).setVisible(true);
                    searchItem.collapseActionView();
                    searchView.setQuery("", false);
                }
            }
        });

        searchView.setQueryHint(getString(R.string.search_hint));
    }

    return true;
}