@Override public void onClick(View v) { if (player.getSubtitleTracks().isEmpty()) { Toast.makeText(MainActivity.this, "no subtitles available!", Toast.LENGTH_LONG).show(); } else { dialogCreator.showSubtitleSelectionDialog(); } } };
void showSubtitleSelectionDialog() { final List<PlayerSubtitleTrack> subtitleTracks = noPlayer.getSubtitleTracks(); ArrayAdapter<String> adapter = new ArrayAdapter<>(context, R.layout.list_item); adapter.addAll(mapSubtitleTrackToLabel(subtitleTracks)); new AlertDialog.Builder(context) .setTitle("Select subtitle track") .setAdapter(adapter, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int position) { if (position == AUTO_TRACK_POSITION) { noPlayer.hideSubtitleTrack(); } else { PlayerSubtitleTrack subtitleTrack = subtitleTracks.get(position - 1); noPlayer.showSubtitleTrack(subtitleTrack); } } }) .create() .show(); }