private void descriptionDialog() { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); final EditText textInput = new EditText(this); textInput.setText(selected.getTrackDescription()); textInput.setSelectAllOnFocus(true); textInput.requestFocus(); textInput.postDelayed( new Runnable() { @Override public void run() { InputMethodManager keyboard = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); keyboard.showSoftInput(textInput, 0); } }, 100); dialogBuilder.setTitle("Set Description (max 3 lines)"); dialogBuilder.setView(textInput); dialogBuilder.setNegativeButton( "Confirm", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String description = textInput.getText().toString(); data.setTrackDescription(selected, description); Toast.makeText(ActivityTracksListView.this, "Description changed!", Toast.LENGTH_SHORT) .show(); populateListView(); } }); dialogBuilder.setPositiveButton( "Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); AlertDialog dialogRename = dialogBuilder.create(); dialogRename.show(); }
@Override public View getView(int position, View convertView, ViewGroup parent) { View itemView = convertView; if (itemView == null) { itemView = getLayoutInflater().inflate(R.layout.tracks_item_view, parent, false); } // Find the album to work with final TrackItem currentTrack = data.getCurrentAlbum().getTracksList().get(position); // Make final TextView sizeText = (TextView) itemView.findViewById(R.id.size); sizeText.setText(currentTrack.getTrackSize()); final TextView makeText = (TextView) itemView.findViewById(R.id.trackTextView); final TextView makeDescription = (TextView) itemView.findViewById(R.id.track_description); final ImageView makeimage = (ImageView) itemView.findViewById(R.id.imageView); makeText.setText(currentTrack.getTrackName()); makeText.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { stopPlayer(); selected = currentTrack; track_text.setText(currentTrack.getTrackName()); startPlayer(selected); } }); makeText.setOnLongClickListener( new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { selected = currentTrack; return false; } }); // Make Description makeDescription.setText(currentTrack.getTrackDescription()); makeDescription.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { stopPlayer(); selected = currentTrack; track_text.setText(currentTrack.getTrackName()); startPlayer(selected); } }); makeDescription.setOnLongClickListener( new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { selected = currentTrack; return false; } }); makeDescription.setText(currentTrack.getTrackDescription()); makeimage.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { stopPlayer(); selected = currentTrack; track_text.setText(currentTrack.getTrackName()); startPlayer(selected); } }); makeimage.setOnLongClickListener( new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { selected = currentTrack; return false; } }); play_button.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (mediaPlayer != null) mediaPlayer.start(); else if (selected != null) startPlayer(selected); } }); pause_button.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (mediaPlayer != null) { mediaPlayer.pause(); } } }); stop_button.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { stopPlayer(); trackSeekBar.setProgress(0); current_duration.setText("00:00"); } }); trackSeekBar.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser && seekBar.isInTouchMode()) { progressValue = progress; } } @Override public void onStartTrackingTouch(SeekBar seekBar) {} @Override public void onStopTrackingTouch(SeekBar seekBar) { if (mediaPlayer != null) { mediaPlayer.seekTo(progressValue); } else { trackSeekBar.setProgress(progressValue); } } }); return itemView; }