我有一个服务,它实现了 MediaPlayer.OnPreparedListener
。
到目前为止,我在一个函数中调用了 player.setOnPreparedListener(this)
并且运行良好。现在我想从 Runnable
调用 setOnPreparedListener
(使用 Handler
),但出现错误:
The method setOnPreparedListener(MediaPlayer.OnPreparedListener) in the type MediaPlayer is not applicable for the arguments (new Runnable(){})
因此,我需要使用指向当前 class
的东西,而不是 this
。问题是,哪个类
?
最佳答案
我假设当您调用 player.setOnPreparedListener(this)
时,您的 Activity 实现了 MediaPlayer.OnPreparedListener
。而您的 Runnable
不是(当然)。有两种选择:
- 如果此 runnable 在 Activity 内部实现,请使用完全限定的
this
:YourActivity.this
如果没有,您可以仅在调用点实现此监听器:
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { // do stuff here } }
关于安卓:MediaPlayer.setOnPreparedListener(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9247831/