Android ListView中的setOnPreparedListener
我有一个ListFragment正在实现MediaPlayer.OnPreparedListener,如下所示Android ListView中的setOnPreparedListener,android,Android,我有一个ListFragment正在实现MediaPlayer.OnPreparedListener,如下所示 public class MyList extends ListFragment implements LoaderCallbacks<Cursor>, MediaPlayer.OnPreparedListener { @Override public void onPrepared(MediaPlayer mp) { mp
public class MyList extends ListFragment implements
LoaderCallbacks<Cursor>, MediaPlayer.OnPreparedListener {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
}
问题在于这个
mPlayer.setOnPreparedListener(??);
我尝试了下面的方法,但没有一个奏效
this
context
getApplicationContext
ListFragment.this
我应该使用什么?我这样做了,它正在工作,但不确定这是否是正确的方法,基本上我正在传递游标适配器的接口
private static class MyCursorAdapter extends CursorAdapter {
public MyCursorAdapter(Context context, MediaPlayer mPlayer,MediaPlayer.OnPreparedListener playerListener) {
super(context, cursor, 0);
this.playerListener = playerListener;
}
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri audioFile = Uri.parse("file:///sdcard/Download/audio.mp3");
mPlayer = new MediaPlayer();
try {
mPlayer.setDataSource(audioFile.toString());
} catch (IOException e) {
e.printStackTrace();
}
mPlayer.setOnPreparedListener(playerListener);
mPlayer.prepareAsync();
}
});
}
private static class MyCursorAdapter extends CursorAdapter {
public MyCursorAdapter(Context context, MediaPlayer mPlayer,MediaPlayer.OnPreparedListener playerListener) {
super(context, cursor, 0);
this.playerListener = playerListener;
}
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri audioFile = Uri.parse("file:///sdcard/Download/audio.mp3");
mPlayer = new MediaPlayer();
try {
mPlayer.setDataSource(audioFile.toString());
} catch (IOException e) {
e.printStackTrace();
}
mPlayer.setOnPreparedListener(playerListener);
mPlayer.prepareAsync();
}
});
}