@Override
 public boolean onContextItemSelected(MenuItem item) {
   AdapterView.AdapterContextMenuInfo info =
       (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
   Playlist playlist = adapter.getItem(info.position);
   int menuItemIndex = item.getItemId();
   switch (menuItemIndex) {
     case 0:
       Intent intent = new Intent(this, EditPlaylistScreen.class);
       intent.putExtra(DatabaseHelper.FIELD_ID, playlist.getId());
       startActivityForResult(intent, EDIT_PLAYLIST_REQUEST_CODE);
       break;
     case 1:
       if (playlist.isSelected() && playlists.size() > 1) {
         Toast.makeText(this, R.string.playlist_is_selected, Toast.LENGTH_SHORT).show();
       } else {
         dbManager.deletePlaylist(playlist);
         playlists = dbManager.getPlaylists();
         adapter.setPlaylists(playlists);
         adapter.notifyDataSetChanged();
         if (playlists == null || playlists.isEmpty()) {
           preferences.putString(Preferences.KEY_PLAYLIST, Preferences.DEFAULT_PLAYLIST);
           setResult(RESULT_OK);
           finish();
         }
       }
       break;
   }
   return true;
 }
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   if (resultCode == RESULT_OK) {
     if (requestCode == ADD_PLAYLIST_REQUEST_CODE || requestCode == EDIT_PLAYLIST_REQUEST_CODE) {
       playlists = dbManager.getPlaylists();
       adapter.setPlaylists(playlists);
       adapter.notifyDataSetChanged();
     }
   }
 }
 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
   Playlist playlist = adapter.getItem(position);
   dbManager.setSelectedPlaylist(playlist);
   preferences.putString(Preferences.KEY_PLAYLIST, playlist.getName());
   setResult(RESULT_OK);
   finish();
 }
 @Override
 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
   if (v.getId() == R.id.list) {
     AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
     Playlist playlist = adapter.getItem(info.position);
     menu.setHeaderTitle(playlist.getName());
     String[] menuItems = {getString(R.string.edit), getString(R.string.delete)};
     for (int i = 0; i < menuItems.length; i++) {
       menu.add(Menu.NONE, i, i, menuItems[i]);
     }
   }
 }