web-dev-qa-db-ja.com

MenuItemCompat.setOnActionExpandListener非推奨

検索ビューが開いているかどうかにかかわらず、ブール値を設定するコードがあります。

MenuItemCompat.setOnActionExpandListener(action_search, new MenuItemCompat.OnActionExpandListener() {
            @Override
            public boolean onMenuItemActionExpand(MenuItem item){
                isSearch = true;
                return true;
            }
            @Override
            public boolean onMenuItemActionCollapse(MenuItem item){
                isSearch = false;
                return true;
            }
        });

できます。私はそれが反応する方法に満足しています。ただし、非推奨として表示され、setOnActionExpandListenerに警告が表示されます。

Android.support.v4.view.MenuItemCompat.setOnActionExpandListenerは廃止されました

提案?

12

_Android.support.v4.view.MenuItemCompat.setOnActionExpandListener_は廃止されました

はい_MenuItemCompat.setOnActionExpandListener_このメソッドはAPIレベル26.1.0で廃止されました。

提案?

MenuItem.setOnActionExpandListener(MenuItem.OnActionExpandListener) を直接使用します。

  • _MenuItemCompat.OnActionExpandListener_このメニュー項目で、関連するアクションviewが展開または縮小されたときに通知されます。 _menu item_は、フラグ_SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW_を使用してアクションviewを展開または縮小するように構成する必要があります。

サンプルコード

_MenuItem item = menu.findItem(R.id.action_order);
item.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
     @Override
      public boolean onMenuItemActionExpand(MenuItem menuItem) {
          isSearch = true;
          return true;
      }

      @Override
      public boolean onMenuItemActionCollapse(MenuItem menuItem) {
           isSearch = false;
           return true;
      }
});
_
28
Nilesh Rathod

このインターフェースはAPIレベル26.1.0で廃止されました。

の代わりに MenuItemCompat.OnActionExpandListener

使用する MenuItem.OnActionExpandListener 直接。

公式ドキュメント

サンプル:

  MenuItem menuItemSearch = menu.findItem(R.id.action_search);

     menuItemSearch.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
        @Override
        public boolean onMenuItemActionExpand(MenuItem menuItem) {
            isSearch = true;
            return true;
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem menuItem) {
            isSearch = false;
            return true;
        }
    });

ボーナス

OnQueryTextListenerOnCloseListenerの設定

    MenuItem menuItemSearch = menu.findItem(R.id.action_search);

  final SearchView searchView = (SearchView) menuItemSearch.getActionView();

     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {

          //Do something

            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            return false;
        }
    });

    searchView.setOnCloseListener(new SearchView.OnCloseListener() {
        @Override
        public boolean onClose() {

        // do something
            return false;
        }
    });
7
Manohar Reddy