我得到這個錯誤信息:應用程序保持崩潰,當我點擊從活動返回主
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;
}
}
}
堆棧跟蹤,堆棧跟蹤,堆棧跟蹤。如果沒有它,我會說,這是因爲你正在'onPause()'中執行'mp.isPlaying()'而不檢查'mp'是否爲空。 – kcoppock
LogCat輸出請? – Swayam