我的活动有问题。这是我的onCreate:
case NORMAL:
game = new Game(); // create new game
game.initializeGame(); // initialize new game
addSomeElements(result); // add elements to array due to user choice
game.getCurrentLevel().nextPair(); // next pair of elements from array
pictureGameLeft
.setImageResource(colorsPictures.get(game.getCurrentLevel().getCurrentPair().getImageLeft()));
pictureGameRight.setImageResource(colorsPictures.get(game.getCurrentLevel().getCurrentPair()
.getImageRight()));
break;
case NOTNORMAL:
game = new Game();
game.initializeGame();
addSomeElements(result);
game.getCurrentLevel().nextPair();
pictureGameLeft
.setImageResource(shapesPictures.get(game.getCurrentLevel().getCurrentPair().getImageLeft()));
pictureGameRight.setImageResource(shapesPictures.get(game.getCurrentLevel().getCurrentPair()
.getImageRight()));
break;
由于用户的选择,这是创造新游戏。当用户选择NORMAL到arraylist“normal”时会添加一些元素。如果用户选择NOTNORMAL到arraylist“notnormal”将添加其他元素。之后我从这个arraylist获得了一对元素并显示图像。
现在这是我的问题。当我选择任何选项时,游戏就会创建并显示两个图像。当我锁定手机然后解锁时,我会收到其他照片。我认为我的onCreate方法再次启动。我想保存第一张图片,当我锁定和解锁手机时,我得到相同的图片。我怎么能这样做我尝试在onCreate之后使用这个解决方案:
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putIntegerArrayList("table", (ArrayList<Integer>) normal);
super.onSaveInstanceState(savedInstanceState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
ArrayList<Integer> normal = savedInstanceState.getIntegerArrayList("table");
}
但它不起作用。
edit1:
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
ArrayList<Integer> normal = savedInstanceState.getIntegerArrayList("table");
pictureGameLeft.setImageResource(normal.get(game.getCurrentLevel().getCurrentPair().getImageLeft()));
pictureGameRight.setImageResource(normal.get(game.getCurrentLevel().getCurrentPair().getImageRight()));
答案 0 :(得分:0)
ArrayList<Integer> normal = savedInstanceState.getIntegerArrayList("table");
在这之后你也需要使用这些值...我的意思是你在那个开关盒里做的事情......再做一次