переопределить кнопку просмотра в поиске

java android textview searchview

482 просмотра

1 ответ

50 Репутация автора

Я хочу переопределить действие по умолчанию, когда пользователь нажимает крестик, который появляется в конце текстового представления поискового представления, и очищает поисковый запрос.

Я хочу очистить поисковый запрос, а также открыть другое действие.

как я могу переопределить это?

Автор: Asad Tariq Источник Размещён: 19.07.2016 09:19

Ответы (1)


-1 плюса

650 Репутация автора

@SuppressLint("NewApi")
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.country_list_activity_actions, menu);
    mSearchMenu = menu.findItem(R.id.action_search);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        // Get the SearchView and set the searchable configuration
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        mSearchView = (SearchView) menu.findItem(R.id.action_search).getActionView();

        // Assumes current activity is the searchable activity
        mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
        mSearchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default

        // Get the search close button image view
        ImageView closeButton = (ImageView)mSearchView.findViewById(R.id.search_close_btn);

        // Set on click listener
        closeButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                LoggerUtils.d(LOG, "Search close button clicked");
                //Find EditText view
                EditText et = (EditText) findViewById(R.id.search_src_text);

                //Clear the text from EditText view
                et.setText("");

                //Clear query
                mSearchView.setQuery("", false);
                //Collapse the action view
                mSearchView.onActionViewCollapsed();
                //Collapse the search widget
                mSearchMenu.collapseActionView();
            }
       });
    }

    // When using the support library, the setOnActionExpandListener() method is
    // static and accepts the MenuItem object as an argument
    mSearchMenu.setOnActionExpandListener(new OnActionExpandListener() {

        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
            //Nothing to do here
            LoggerUtils.d(LOG, "Search widget expand ");
            return true; // Return true to expand action view
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {
            LoggerUtils.d(LOG, "Search widget collapsed ");
            return true; // Return true to collapse action view
        }
    });

    return super.onCreateOptionsMenu(menu);
}
Автор: Mallikarjuna Размещён: 01.11.2017 12:28
Вопросы из категории :
32x32