Возврат сериализуемого объекта через oncreate - PullRequest
0 голосов
/ 08 января 2019

Я строю tictactoe, и я пытаюсь получить Java, чтобы восстановить доску при вращении. Я почти уверен, что мне удалось заставить мой onsaveInstanceState работать, но возвращение сериализуемого объекта становится проблемой.

Кто-нибудь может сказать мне, что я здесь делаю неправильно?

Это моя основная деятельность

Game game;
TextView[] gameMessageIm = new TextView[3];
String[] gameMessage = {"playerone", "playertwo", "draw", "invalid"};
TileState[][] mainboard;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putSerializable("mainboard", mainboard);
    for (int i = 0; i < gameMessage.length; i++) {
        outState.putInt(gameMessage[i], gameMessageIm[i].getVisibility());
    }

}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    initGameMessage();
    super.onRestoreInstanceState(savedInstanceState);
    game = (Game) savedInstanceState.getSerializable("mainboard");
    for (int i = 0; i < gameMessage.length; i++){
        gameMessageIm[i].setVisibility(savedInstanceState.getInt(gameMessage[i]));
    }

}

а это игровой класс `public class Game реализует Сериализуемый {

final private int BOARD_SIZE = 3;
private TileState[][] board;
private GameState Gstate;

private Boolean playerOneTurn;
private int movesPlayed;
private Boolean gameOver;

//  classes' constructor
public Game() {
    board = new TileState[BOARD_SIZE][BOARD_SIZE];
    for (int i = 0; i < BOARD_SIZE; i++)
        for (int j = 0; j < BOARD_SIZE; j++)
            board[i][j] = TileState.BLANK;

    Gstate = GameState.IN_PROGRESS;
    playerOneTurn = true;
    gameOver = false;

}

public TileState[][] returnboard(){
    return board;
}`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...