java - OnListItemClick 空指针异常

标签 java android nullpointerexception media-player listitem

您好,我目前在 Android 市场上的一些应用程序上遇到错误:

这是堆栈跟踪:

   java.lang.NullPointerException
    at ****.****.MainActivity.onListItemClick(MainActivity.java:110)
    at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
    at android.widget.AdapterView.performItemClick(AdapterView.java:284)
    at android.widget.ListView.performItemClick(ListView.java:3513)
    at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
    at android.os.Handler.handleCallback(Handler.java:587)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3683)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:870)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
    at dalvik.system.NativeStart.main(Native Method)

出错的代码部分:

@Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        mMediaPlayer.stop();
        Sound s = (Sound) l.getItemAtPosition(position);
        mMediaPlayer = MediaPlayer.create(this, s.getSoundResourceId());
        mMediaPlayer.start();
    }

大多数时候它都在工作(播放声音),但有时它会给出 nullpointerException,我不知道为什么可能与 MediaPlayer 或 super.onListItemClick() 有关?

提前致谢

最佳答案

可能 s 为空?你能重现/调试吗?

您能否提供列表适配器实现的 getItemAtPosition(position) 代码。并且可能会换行

    if (s != null) {
      mMediaPlayer = MediaPlayer.create(this, s.getSoundResourceId());
      mMediaPlayer.start();
    }

编辑。嗯,我走错线了。您应该使用空检查来启动媒体播放器,因为如果您阅读了文档:

返回

a MediaPlayer object, or null if creation failed 

然后尝试找出创建失败的原因。

关于java - OnListItemClick 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13887828/

相关文章:

java - 无法在数组交集中从列表转换为数组

android - 通过 Intent 在 Android 浏览器中打开和关闭浏览器选项卡?

使用 AsyncTask 和 Interfaces 的 Android 程序崩溃

java - 跟踪 NullPointerExceptions 的最佳方法是什么?

java - Metaio,在相机 View 中显示多个内容

java - Java 解析字符串

java - Servlet未获取请求参数

java - addView方法不显示新 View

android - 播放视频屏幕关闭

java - 从另一个 xml 布局添加 ListView 时出现 NullPointerException