2011-11-04 6 views
0

Я работаю над приложениями с вкладками в android. На первой вкладке у меня есть поисковая система с текстовыми изображениями, прядильщиками .. и если я заполнил эти параметры и переключился на другую вкладку или на активность результатов поиска, и я вернусь обратно на эту вкладку (вкладку в поисковой системе), я обнаружил, что все поля повторно инициализируются. Но я хочу сохранить их ценность, чтобы помнить, что я искал. Есть ли способ сохранить свои данные при переключении между действиями?Сохранение значений представления при переключении между действиями в android

Благодарим за помощь.

ответ

1

Вы можете переопределить onSaveInstanceState (который будет вызываться до перехода на новую активность) и onRestoreInstanceState (который будет вызываться до возобновления вашей активности), например. :

@Override 
public void onSaveInstanceState(Bundle savedInstanceState) { 
    // Save UI state changes to the savedInstanceState. 
    // This bundle will be passed to onCreate if the process is 
    // killed and restarted. 
    savedInstanceState.putBoolean("MyBoolean", true); 
    savedInstanceState.putDouble("myDouble", 1.9); 
    savedInstanceState.putInt("MyInt", 1); 
    savedInstanceState.putString("MyString", "Welcome back to Android"); 
    // etc. 
    super.onSaveInstanceState(savedInstanceState); 
} 

@Override 
public void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 
    // Restore UI state from the savedInstanceState. 
    // This bundle has also been passed to onCreate. 
    boolean myBoolean = savedInstanceState.getBoolean("MyBoolean"); 
    double myDouble = savedInstanceState.getDouble("myDouble"); 
    int myInt = savedInstanceState.getInt("MyInt"); 
    String myString = savedInstanceState.getString("MyString"); 
} 
0

Я думаю, вы создаете объект намерения начать деятельность вашей вкладки с addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP). Просто удалите эту функцию, если вы сделали что-то подобное. Например, создать пристальный объект, как показано ниже,

Intent intent = new Intent(this, tabActivity.class); 

Не нравится,

Intent intent = new Intent(this, tabActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

Если вы сделаете это, ваш получите точное состояние язычком, как у покинул его перед переходом на другую вкладку ,

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