Надеюсь, это поможет, JAL

от вопрос уже есть ответ здесь:

Как сохранить состояние активности Android с помощью сохранения состояния экземпляра? 27 ответов

Я только начал изучать программирование на Android, и у меня есть проблема с использованием переменной вonSaveInstanceState, Это мой код:

int resultCode;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    if (savedInstanceState != null) {
        super.onRestoreInstanceState(savedInstanceState);

        int resultCode = savedInstanceState.getInt("resultCode");
    } 

    Button btnOpenWithResult = (Button) findViewById(R.id.btnOpenWithResult);
    btnOpenWithResult.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent myIntent = new Intent(flashlight.this, ThirdActivity.class);
            startActivityForResult(myIntent, 1);
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    switch (resultCode) {
    case 1:   
         /** option 1  */            
        break;
    case 2:
         /** option 2 */
        break;
}

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    savedInstanceState.putInt("resultCode", resultCode);
    super.onSaveInstanceState(savedInstanceState);
}

Я хочу сохранить переменнуюresultCode с помощьюonSaveInstanceState и после возобновления деятельности снова использовать его ...

(извините за мой уровень английского)

 Cyren15 янв. 2011 г., 22:02
Моя проблема - сохранить состояние переменной resultCode (switch) в onSaveInstanceState. Когда я пишу: saveInstanceState.putInt ("resultCode", resultCode); и после этого попробуйте использовать: int resultCode = saveInstanceState.getInt ("resultCode"); тогда переменная resultCode пуста
 fiction15 янв. 2011 г., 19:32
Будь конкретнее, в чем конкретно твоя проблема? Вы пытались присвоить значение resultCode.

Ответы на вопрос(1)

nCreate. Было бы целесообразно сделать этот вызов в методе

public void onRestoreInstanceState(Bundle saved) {
    super.onRestoreInstanceState(saved);

2) Декларация:

   int resultCode = savedInstanceState.getInt("resultCode");

«скрывает» переменную:

int resultCode;

объявлено ранее. Итак, есть две версии переменной resultCode с разными областями действия. Возможно, вы хотите написать код:

int resultCode;

stuff here

    resultCode = savedInstanceState.getInt("resultCode");

Надеюсь, это поможет, JAL

Ваш ответ на вопрос