How to Add a Contextual Action Bar(CAB)

API Level 11, or greater

1. Create an Options Menu using the below Items for the XML file.

Name: cmenu_action1
Title: Action 1

Name: cmenu_action2
Title: Action 2

Name: cmenu_action3
Title: Action 3

2. Ensure your minSdkVersion is 11, or greater. ActionMode was added in API level 11.

3. Open MainActivity.java file and add below lines to import section.

import android.view.ActionMode;
import android.view.MenuItem;
import android.view.ActionMode;
import android.view.View.OnLongClickListener;
 

4. Add the below 2 bolded lines between the public class and the onCreate method.

public class MainActivity extends Activity {

     ActionMode.Callback mCallback;    
     ActionMode mMode;    

 @Override    
  public void onCreate(Bundle savedInstanceState) {

5. Add this callback to your onCreate method. Make sure to add a Toast import.

@Override    
public void onCreate(Bundle savedInstanceState) {           
   super.onCreate(savedInstanceState);           
    setContentView(R.layout.activity_main); 

    mCallback = new ActionMode.Callback() {             
        @Override            
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) { 
               return false;            
        }            

         @Override            
         public void onDestroyActionMode(ActionMode mode) {  
              mMode = null;           
         }             


         @Override            
         public boolean onCreateActionMode(ActionMode mode, Menu menu) {
                mode.setTitle("1 selected");
                getMenuInflater().inflate(R.menu.context_menu, menu); 
               return true; 
          }             

         @Override
         public boolean onActionItemClicked(ActionMode mode, MenuItem item) { 

               switch(item.getItemId()){
                    case R.id.cmenu_action1: 
                        Toast.makeText(getBaseContext(), "Selected Action1 ", Toast.LENGTH_LONG).show();
                    mode.finish();  
                    break; 
               case R.id.cmenu_action2:           
                   Toast.makeText(getBaseContext(), "Selected Action2 ", Toast.LENGTH_LONG).show(); 
                   break;        
                case R.id.cmenu_action3:               
                    Toast.makeText(getBaseContext(), "Selected Action3 ", Toast.LENGTH_LONG).show(); 
                   break; 
               }  
              return false;  
          }     
  };



 OnLongClickListener listener = new OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                if(mMode!=null)
                    return false;
                else
                    mMode = startActionMode(mCallback);
                    return true;
                
             }
        };

6. Compile and test.

Resources:
http://developer.android.com/design/patterns/actionbar.html
http://wptrafficanalyzer.in/blog/creating-a-contextual-menu-bar-contextual-action-mode-for-a-single-view-in-android/
http://developer.android.com/reference/android/view/ActionMode.html