큰 문제가 있습니다. 두 개의 imageView가있는 곳에서 활동하고 있습니다. onCreate에는 10 장의 그림이있는 목록 그림이 있습니다. 이 액티비티를 시작할 때마다 imageViews는 List에서 임의의 그림을 가져 와서 보여줍니다. 예를 들면 : 활동을 시작할 때 저는 자동차와 연필을 볼 수 있습니다. 그리고이 활동을 다시 시작하면 나는 코끼리와 책을 얻습니다. 이제 제 문제입니다. 활동을 시작하고 휴대 전화를 차단하면 잠금 해제 된 후 다른 사진을 볼 수 있습니다. 나는 onCreate가 다시 호출된다고 생각합니다. 나는 창조한다Android 및 onSave 인스턴스 및 복원
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
}
public void onRestoreInstanceState(Bundle savedInstanceState) {
if (savedInstanceState != null) {
pictureGameLeft.setImageResource(shapesPictures.get(game.getCurrentLevel().getCurrentPair().getImageLeft()));
pictureGameRight.setImageResource(shapesPictures.get(game.getCurrentLevel().getCurrentPair().getImageRight()));
}
}
pictureGameLeft 및 오른쪽은 그것이 보여주는 마지막 이미지이다. onCreate 메소드 후에 작성합니다. 마지막으로 본 그림을 저장하는 방법 전화를 잠그고 잠금 해제하면 동일한 그림이 표시됩니다. 어쩌면 onPause 나 onStop이 필요할까요?
편집 : 지금 :
if (savedInstanceState == null) {
game = new Game();
game.initGame();
addElements(result);
game.getCurrentLevel().nextPair();
pictureGameLeft.setImageResource(shapesPictures.get(game.getCurrentLevel().getCurrentPair()
.getImageLeft()));
pictureGameRight.setImageResource(shapesPictures.get(game.getCurrentLevel().getCurrentPair()
.getImageRight()));
mRedrawHandler.sleep(1000);
}
else {
pictureGameLeft.setImageResource(shapesPictures.get(game.getCurrentLevel().getCurrentPair(
.getImageLeft()));
pictureGameRight.setImageResource(shapesPictures.get(game.getCurrentLevel().getCurrentPair()
.getImageRight()));
}
하지만 NullPointerException이 얻을.
이제 java.lang.RuntimeException이 발생 함 : 활동을 일시 중지 할 수 없음 – user1302569
코드에 여전히 문제가 있습니까? –