このエラーメッセージが表示されました:
09-05 19:58:00.883: E/AndroidRuntime(21920): java.lang.RuntimeException: Unable to pause activity {com.De7kat.Grid/com.De7kat.Grid.De7katGrid}: java.lang.NullPointerException
アクティビティ2に移動し、デバイスの[戻る]ボタンをクリックしてアクティビティ1に戻ろうとしたとき。
de7katgrid
アクティビティコードは次のとおりです。
package com.De7kat.Grid;
public class De7katGrid extends Activity {
private MediaPlayer mp;
public Integer[] mSongsIds = {
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet,R.raw.far,
R.raw.beet, };
public Object getItem(int position) {
return mSongsIds[position];
}
@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();
}
});
}
@Override
public void onPause() {
super.onPause();
if (mp.isPlaying()) {
mp.stop();
}
}
private void stopPlaying() {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
}
}