我一直在編碼的Android應用程序,我已經開始突然得到一個錯誤,錯誤日誌中說,有Java.Lang.Null.pointer.exception於自己的比賽的第23行.java,但沒有任何關於該代碼的代碼已經改變。這是代碼:任何想法?獲得的Java郎空指針異常
主要類
public void onClick(View v) {
switch (v.getId()) {
case R.id.about_button:
Intent i = new Intent(this, About.class);
startActivity(i);
break;
case R.id.ext_button:
finish();
break;
case R.id.new_button:
openNewGameDialog();
break;
}
}
private void openNewGameDialog() {
new AlertDialog.Builder(this)
.setTitle(R.string.diff_head)
.setItems(R.array.difficulty,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialoginterface,
int i) {
startGame(i);
}
})
.show();
}
private void startGame(int i) {
Intent intent = new Intent(this, Game.class);
intent.putExtra(Game.KEY_DIFFICULTY, i);
startActivity(intent);
}
Game.java
public class Game extends Activity {
public static final String KEY_DIFFICULTY = "w1279057.CW1.difficulty";
public static final int DIFFICULTY_NOVICE = 0;
public static final int DIFFICULTY_EASY = 1;
public static final int DIFFICULTY_MEDIUM = 2;
public static final int DIFFICULTY_GURU = 3;
Random rand = new Random();
line 23 >> int diff = getIntent().getIntExtra(KEY_DIFFICULTY, DIFFICULTY_NOVICE);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
你能張貼堆棧跟蹤過? – 2012-03-02 19:48:34
'getIntent()'必須返回一個空值,那麼當你調用'getIntExtra(..)'的空值,你得到你的例外。 – 2012-03-02 19:49:34
getIntent返回null,因爲onCreate並沒有先調用....將此行移動到onCreate編輯:after super.onCreate – Selvin 2012-03-02 19:49:56