Android: как НЕ сохранить состояние экземпляра? - PullRequest
1 голос
/ 01 июня 2011

Мое приложение имеет логин, после предоставления доступа оно создает новый html-файл для sdcard, вывод или внешний вид этого html-файла зависят от учетной записи регистратора.

После написания приложение переходит к следующему действию

        Intent nextActivity = new Intent(MyMainAct.this, AppView.class);
        startActivity(nextActivity);

класс AppView является следующим действием, в котором пользовательский интерфейс является веб-представлением. Он просматривает HTML, созданный при входе в систему.

Когда я нажимаю кнопку «войти как другой пользователь», я возвращаюсь к основному действию, которое является MyMainAct. Я использую следующий код:

        Intent nextActivity = new Intent(AppView.this, MyMainAct.class);
        startActivity(nextActivity);

Когда я снова вошел в систему (как другой пользователь), я ожидал другого пользовательского интерфейса, так как созданный html отличается. Но этого не произошло. Тот же HTML-код первого регистратора представлен веб-представлением.

Я посмотрел HTML-код, созданный вторым регистратором, он отличается от первого. но веб-просмотр представляет HTML-код первого регистратора.

Это о состоянии экземпляра? Это то, что я думаю, поэтому я не хочу сохранять состояние экземпляра (связка).

EDIT:

Как игнорировать сохраненный экземпляр состояния моего приложения?

Моя основная активность:

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);

my AppView Activity:

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

Ответы [ 2 ]

0 голосов
/ 01 июня 2011

Убедитесь, что когда пользователь выбирает опцию «войти в систему как другой пользователь», действие, показывающее HTML, имеет вид finish ed (т.е. вызовите для него метод finish). Если затем вы игнорируете параметр savedInstanceState в его событии onCreate (что, скорее всего, вы делаете, я полагаю), при следующем запуске этого действия это будет совершенно новый его экземпляр.

0 голосов
/ 01 июня 2011

Попробуйте и посмотрите, работает ли он.

Intent nextActivity = new Intent(AppView.this, MyMainAct.class);
startActivity(nextActivity);
finish();
...