2015-07-13 4 views
0

Как изменить текст кнопки, загруженный из EditText во время метода onPause()?Как использовать метод OnPause

Например

@Override 
public void onPause(){ 
    button.setText(text.getText().toString()); 
    super.onPause() 
} 

Когда я нажимаю кнопку назад она не изменяет текст кнопки

+0

Итак, вы хотите сохранить значение в текстовом поле, когда пользователь вернется к этому действию? – kkaosninja

+1

В чем проблема? Не могу понять ничего –

+1

, почему вы хотите сделать что-то вроде этого –

ответ

0

Оставляя в стороне вопрос о том, почему вы хотите сделать это в onPause() в первую очередь ...

Как правило, состояние ваших просмотров будет сохранено в onSaveInstanceState(...). Но согласно the docs, нет никаких гарантий относительно того, произойдет ли звонок до onSaveInstanceState(...) до или после звонка до onPause(). Если onSaveInstanceState(...) вызывается до onPause(), то любые изменения, внесенные вами в onPause(), будут потеряны.

0

Пожалуйста, ознакомьтесь с documentation - он описывает поток активности Android с отличными диаграммами.
onPause() уже существует в вашей деятельности, поэтому вам нужно будет @Override. Если Вы не модифицирована назад поведение кнопки - вот что происходит:

  • OnPause() выполняется, когда Вы нажимаете назад, и текст кнопки заменяется (предполагается, что текст и кнопки будут видны в этой области) - за такое короткое время, Вы не сможете заметить (если устройство не запаздывает, так или иначе)
  • OnStop() выполняется в следующем, и Ваша заявка выходит вскоре после

Если Вы хотите, чтобы попробовать и убедиться, что текст правильно установлен - Вам может быть легче написать:

@Override 
public void onPause(){ 
    super.onPause(); 
    Log.d("Text's text:" + text.getText().toString() 
      + "Button:" + button.getText().toString()); 

} 

Вам необходимо будет импортировать android.util.Log.
Обратите внимание, что настоятельно рекомендуется (here), что вы вызываете super() как первое, когда переопределяете методы Android по умолчанию.

+0

сэр я добавил код, как вы упомянули, но когда я нажму кнопку «Назад», к сожалению приложение приостановлено –

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