목록보기의 항목을 클릭하면 응답하는 코드를 작성했습니다. 목록의 클릭 된 항목이 Toast
메시지를 통해 미디어 소스의 URI를 반환하고 재생을 시작하려고했습니다.Android : OnItemClickListener가 예상대로 작동하지 않습니다.
다음은 코드입니다. 이 코드를 실행하면
lvAlarmTones.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
ringtone = ringtoneSources.get(position);
Uri toneUri = Uri.parse(ringtone);
mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(ChooseAlarmToneActivity.this, toneUri);
mediaPlayer.start();
Log.i(ApplicationManager.LOG, "Media loaded: " + ringtone);
} catch (IOException e) {
Toast.makeText(ChooseAlarmToneActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
Toast.makeText(ChooseAlarmToneActivity.this, ringtone, Toast.LENGTH_SHORT).show();
}
});
, 나는 성공적으로 URI와 Toast
를 얻기 위해 관리하지만, 난 여전히 미디어가 재생이 실패합니다.
mediaPlayer를 매번 만들지 말고 global로 만들고 모든 항목을 클릭 할 때마다 사용하십시오. 토스트를 try 블록 끝 안에 넣으십시오. 다시 실행하십시오 – Noorul
@Ahamed 좋아, 내가 말한 코드를 변경했습니다. 그러나 나는 여전히 언론에 열중하고있다. –
LogCat 오류가 발생했습니다. 그렇다면 친절하게 게시하십시오. – Noorul