2014-10-23 2 views
0

Я этот классКак состояние просмотра сохранено/восстановлено в Android?

public class MainActivity extends Activity { 
    int mClicks = 1; 

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

     final TextView clicksText = (TextView) findViewById(R.id.clicksText); 
     final Button myButton = (Button) findViewById(R.id.myButton); 
     myButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       mClicks++; 
       clicksText.setText(mClicks + " clicks"); 
      } 
     }); 
    } 
} 

Разве не предполагается сохранить состояние представления в onSaveInstanceState и восстановить его в onCreate? Я нажимаю кнопку несколько раз и поворачиваю устройство, чтобы найти пользовательский интерфейс в том же состоянии, что и XML-представление представления. Я не ожидаю, что mClicks будет восстановлен, так как это моя работа, а не фреймворк, но TextView должен содержать предыдущие клики X! стоимость. Я здесь не прав?

ответ

0

По умолчанию onSaveInstanceState сохраняет текст EditText (что пишет пользователь), но не сохраняет текст TextView, так как предполагается, что он не изменится по умолчанию. Если вы хотите сохранить, что вам нужно в явной форме сделать это в вас onSaveInstanceState метод

+0

Видя, как это имеет идентификатор, он пришел к моему что он сохранит текстовое значение. Есть ли у вас какие-либо ссылки на это? – Machinarius

Смежные вопросы