Java OnListItemClick NullpointerException
您好,我目前在android market上的一些应用程序出现错误: 这是stacktrace:Java OnListItemClick NullpointerException,java,android,nullpointerexception,media-player,listitem,Java,Android,Nullpointerexception,Media Player,Listitem,您好,我目前在android market上的一些应用程序出现错误: 这是stacktrace: java.lang.NullPointerException at ****.****.MainActivity.onListItemClick(MainActivity.java:110) at android.app.ListActivity$2.onItemClick(ListActivity.java:319) at android.widget.Adapter
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
然后试着找出创造失败的原因