簡體   English   中英

如何在Sherlock操作欄中更改searchview的dismiss(home)按鈕?

[英]How to change dismiss (home) button of searchview in Sherlock action bar?

當您使用操作欄進入searchview模式時,主頁按鈕會因某種原因更改為清單android:icon drawable。 有沒有辦法保持它不變或將其更改回android:logo drawable?

這是我正在做的事情:

@Override
public void onCreateOptionsMenu(final Menu menu, MenuInflater inflater) 
{
    getSherlockActivity().getSupportMenuInflater().inflate(R.menu.places_menu, menu);

    SearchManager searchManager = (SearchManager) getSherlockActivity().getSystemService(Context.SEARCH_SERVICE);
    final SearchView searchView = (SearchView) menu.findItem(R.id.item_menu_search).getActionView();

    SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() 
    {
        public boolean onQueryTextChange(String newText) 
        {
            // this is your adapter that will be filtered
            mAdapter.getFilter().filter(newText);
            return true;
        }

        public boolean onQueryTextSubmit(String query) 
        {
            // this is your adapter that will be filtered
            mAdapter.getFilter().filter(query);
            return true;
        }
    };

    if (null != searchView )
    {
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getSherlockActivity().getComponentName()));
        searchView.setIconifiedByDefault(false);  
        searchView.setOnQueryTextListener(queryTextListener);

        // CLOSE SEARCH WHEN SOFT KEYBOARD DISSMISSES
        searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean queryTextFocused) {
                if(!queryTextFocused) {
                    menu.findItem(R.id.item_menu_search).collapseActionView();
                    searchView.setQuery("", false);
                }
            }
        });
    }

    super.onCreateOptionsMenu(menu, inflater);
}

通過使用徽標調用setIcon()似乎是可能的。

ActionBar actionBar = getActionBar();
actionBar.setLogo(R.drawable.ab_logo);
actionBar.setIcon(R.drawable.ab_logo);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM