【发布时间】:2014-01-11 18:31:02
【问题描述】:
嗨,我有列表,我有本地音乐文件。当我单击我的列表项时,我想播放我的音乐文件。 这是我的 onclick 列表项的外观:
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch( position )
{
case 0:
v.contentEquals("file:///android_asset/disco.mp3");
playSound(v);
case 1:
v.contentEquals("file:///android_asset/disco.mp3");
playSound(v);
break;
};
}
这是我的媒体播放器的样子:
private void playSound(String v) {
// TODO Auto-generated method stub
try {
mp.setDataSource(v);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
}
当我单击列表项时,程序冻结并强制关闭。 我该怎么办?
logcat 输出
01-11 23:19:19.191:E/AndroidRuntime(4811):致命异常:主要 01-11 23:19:19.191: E/AndroidRuntime(4811): java.lang.NullPointerException 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 com.hmomeni.customlistview.MainActivity$11.onItemClick(MainActivity.java:113) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 android.widget.AdapterView.performItemClick(AdapterView.java:301) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 android.widget.AbsListView.performItemClick(AbsListView.java:1519) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 android.widget.AbsListView$PerformClick.run(AbsListView.java:3291) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 android.widget.AbsListView$1.run(AbsListView.java:4340) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 android.os.Handler.handleCallback(Handler.java:725) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 android.os.Handler.dispatchMessage(Handler.java:92) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 android.os.Looper.loop(Looper.java:137) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 android.app.ActivityThread.main(ActivityThread.java:5328) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 java.lang.reflect.Method.invokeNative(Native Method) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 java.lang.reflect.Method.invoke(Method.java:511) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 01-11 23:19:19.191: E/AndroidRuntime(4811): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 01-11 23:19:19.191: E/AndroidRuntime(4811): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
您应该做的是粘贴您的堆栈跟踪并向我们展示您的错误。谢谢
-
可能是文件寻址引起的,能发一下你的Log数据吗?
-
第 113 行可能包含未初始化的变量
标签: android listview media-player