Android: flaga zamiaru zniszczenia aktywności i rozpoczęcia nowej
Mam więc czynność logowania. To działanie powoduje zawężenie układu login.xml, w którym znajdują się widoki edytora tekstu USER_NAME i PASSWORD, po wprowadzeniu nazwy użytkownika i hasła i kliknięciu przycisku logowania rozpoczynam nowe działanie.
Nowa aktywność ma przycisk Wyloguj, który w zasadzie uruchamia poprzednią aktywność w ten sposób:
Intent loginIntent = new Intent(getActivity(), Login.class);
loginIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
getActivity().startActivity(loginIntent);
Zgodnie z dokumentacją systemu Android flaga wykonuje następujące czynności:
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP
Jeśli jest ustawiona, a uruchamiana aktywność jest już uruchomiona w bieżącym zadaniu, to zamiast uruchamiać nową instancję tej aktywności, wszystkie inne aktywności na jej wierzchu zostaną zamknięte, a ta Intencja zostanie dostarczona do (teraz top) stara działalność jako nowy zamiar.
Problem polega na tym, że nazwa użytkownika i hasło nadal pojawiają się w widokach EditText po wylogowaniu, czy jest flaga, która niszczy aktywność logowania i po prostu uruchamia nową, czy istnieje sposób na zresetowanie pól przy każdym wylogowaniu? Jakie jest lepsze podejście?