Ich habe einen Code geschrieben, der auf die Elementansicht der Listenansicht reagiert. Ich beabsichtigte, dass das angeklickte Element in der Liste den URI der Medienquelle über die Nachricht Toast
zurückgeben und mit dem Abspielen beginnen würde.Android: OnItemClickListener funktioniert nicht so, wie ich es erwartet habe
Hier ist der Code.
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();
}
});
Wenn ich diesen Code ausführen, schaffe ich das Toast
mit dem URI erfolgreich zu bekommen, aber ich kann nicht noch die Medien gespielt haben.
statt jedes Mal Mediaplayer zu schaffen, schaffen eine als globales und es für jedes Element klicken verwenden. Versuchen Sie, den Toast in das Try-Block-Ende zu legen. und renne wieder – Noorul
@Ahamed Alles klar, ich habe den Code geändert, den du gesagt hast. Aber ich kann immer noch nicht die Medien spielen. –
haben Sie einen LogCat-Fehler. bitte posten Sie wenn ja. – Noorul