Android 要在单击“回收器”视图时实现声音或媒体播放器吗

Android 要在单击“回收器”视图时实现声音或媒体播放器吗,android,android-studio,android-recyclerview,Android,Android Studio,Android Recyclerview,在media player中,此关键字显示错误,因为我们无法在“回收器”视图中使用上下文,即单击“回收器”视图时如何播放声音。有什么方法可以简单地做到这一点吗 我的日志猫 Error:(91, 58) error: no suitable method found for create(<anonymous OnClickListener>,int) method MediaPlayer.create(Context,Uri) is not applicable (argum

在media player中,此关键字显示错误,因为我们无法在“回收器”视图中使用上下文,即单击“回收器”视图时如何播放声音。有什么方法可以简单地做到这一点吗



我的日志猫

Error:(91, 58) error: no suitable method found for create(<anonymous   OnClickListener>,int)
method MediaPlayer.create(Context,Uri) is not applicable
(argument mismatch; <anonymous OnClickListener> cannot be converted to  Context)
method MediaPlayer.create(Context,int) is not applicable
(argument mismatch; <anonymous OnClickListener> cannot be converted to Context)
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some messages have been simplified; recompile with -Xdiags:verbose to  get full output
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
错误:(91,58)错误:找不到适合create(,int)的方法
方法MediaPlayer.create(上下文,Uri)不适用
(参数不匹配;无法转换为上下文)
方法MediaPlayer.create(Context,int)不适用
(参数不匹配;无法转换为上下文)
注意:某些输入文件使用或覆盖不推荐使用的API。
注意:有关详细信息,请使用-Xlint:deprecation重新编译。
注:部分信息已被简化;使用-Xdiags:verbose重新编译以获得完整输出
错误:任务“:app:compiledBugJavaWithJavaC”的执行失败。
>编译失败;有关详细信息,请参阅编译器错误输出。

我在尝试为自定义适配器上创建的视图实现onClickListener时遇到了相同的问题

如前所述,此错误的解决方法是获取视图的上下文

plus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
                MediaPlayer mp = MediaPlayer.create(v.getContext(), R.raw.applause);
                mp.start();
            }
        });

使用mp=MediaPlayer.create(v.getContext(),R.raw.paude)。希望这有帮助。谢谢@Jickson,它工作得很好
plus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
                MediaPlayer mp = MediaPlayer.create(v.getContext(), R.raw.applause);
                mp.start();
            }
        });