0

一部のデバイスからこのエラーレポートを受け取りましたが、他のアプリケーションでは問題なく動作しています!!!

java.lang.NullPointerException
at com.hamoosh.birdseffects.De7katGrid$1.onItemClick(De7katGrid.java:44)
at android.widget.AdapterView.performItemClick(AdapterView.java:292)
at android.widget.AbsListView.performItemClick(AbsListView.java:1359)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2988)
at android.widget.AbsListView$1.run(AbsListView.java:3783)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4517)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
at dalvik.system.NativeStart.main(Native Method)

ソースコードにエラーはありませんか??

エラー行は、コードのこの部分に示されている 44 です。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.grid_layout);

    GridView gridView = (GridView) findViewById(R.id.grid_view);

    // Instance of ImageAdapter Class
    gridView.setAdapter(new ImageAdapter(this));

    gridView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {
            stopPlaying();
            mp = MediaPlayer.create(De7katGrid.this, mSongsIds[position]);
            mp.start();// << here is line 44 !!!
        }
    });
}
4

1 に答える 1

2

リソース ID のサウンド ファイルがデバイスでサポートされていないか、存在しないか、破損している場合、MediaPlayer.create は null を返します。

この場合、特定のデバイスでサポートされていない可能性がある .wav ファイルを使用しています。ファイルのサンプリング レートの場合。これらは、4.1 以降のデバイスでのみサポートされることが保証されています。サポートされている形式のリストは次のとおりです。

http://developer.android.com/guide/appendix/media-formats.html

于 2012-10-24T14:07:18.490 に答える