2016-08-03 1 views
0

私には「DELETE」という設定があるコンテキストアクションバーがあります。そのボタンを押すと、CABメニューが消えます。アンドロイドのメニューを「収縮させる」方法は?

   class MyActionModeCallBack implements android.view.ActionMode.Callback { 
        @Override 
        public boolean onCreateActionMode(android.view.ActionMode actionMode, Menu menu) { 
         actionMode.getMenuInflater().inflate(R.menu.event_menu, menu); 
         return true; 
        } 
        @Override 
        public boolean onPrepareActionMode(android.view.ActionMode actionMode, Menu menu) { 
         return false; 
        } 
        @Override 
        public boolean onActionItemClicked(android.view.ActionMode actionMode, MenuItem menuItem) { 
         int id = menuItem.getItemId(); 

         if (id == R.id.delete) { 
              ******* 
          _root.removeView(view); 

          // This is where I want to remove the CAB menu 
              ******* 
         } 
         return false; 
        } 
        @Override 
        public void onDestroyActionMode(android.view.ActionMode actionMode) { 
         ((RelativeLayout)view).removeAllViews(); 
         view.setBackgroundColor(0xFF00FF00); 
         view.setTag(R.string.viewSelected, "0"); 
        } 
       } 

私は右_root.removeView(view);onDestroyActionMode()を呼び出すことを考えていたが、私はに渡すためにどのような引数を知らない。

を任意の提案が高く評価され、感謝!あなたが選択されている項目を非表示にしようとしている場合

答えて

0

、あなたは、メニューからすべての項目を削除したい場合は、あなたが

optionsMenu.clear(); 

を呼び出すことができ、また

menuItem.setVisible(false); 

を呼び出すことができますonActionItemClicked()メソッド。

@Override 
public boolean onCreateOptionsMenu(final Menu menu) { 
    optionsMenu = menu 
} 
0

コールactionMode.finish()を次のように あなたのonCreateOptionsMenuメソッドでフィールドに自分のメニューを保存することができます。これにより、onDestroyActionMode()コールバックが呼び出されます。

関連する問題