private void moveDialog() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Move to..");

    final Spinner spinner = new Spinner(this);
    ArrayAdapter<String> adapter =
        new ArrayAdapter<>(
            this, android.R.layout.simple_spinner_dropdown_item, data.getListAlbumNames());
    spinner.setAdapter(adapter);

    spinner.setOnItemSelectedListener(
        new AdapterView.OnItemSelectedListener() {
          @Override
          public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3) {
            albumChoice = spinner.getSelectedItem().toString();
          }

          @Override
          public void onNothingSelected(AdapterView<?> arg0) {
            // do nothing
          }
        });

    builder.setView(spinner);

    builder.setPositiveButton(
        "Cancel",
        new DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
            albumChoice = null;
          }
        });
    builder.setNegativeButton(
        "Move",
        new DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int which) {
            data.moveTrack(selected, albumChoice);
            populateListView();
            Toast.makeText(
                    ActivityTracksListView.this,
                    "Track moved to " + albumChoice,
                    Toast.LENGTH_SHORT)
                .show();
          }
        });

    builder.show();
  }