액티비티 순서를 말씀드리자면
메인이 있고
버튼이 있습니다
버튼1,2,3 이라 하겠습니다.
어플 실행하면 메인이 실행되고 그다음에 버튼을 눌러야 합니다
버튼 1번 누르면 1번화면 액티비티 나오면서 막 놀다가 백버튼 누르면 메인 화면 넘어갑니다
나머지 버튼 2,3번도 마찬가지 입니다.
근데 1,2,3번 액티비티에서 노는거까진 상관 없는데 메인갈려면 백버튼 누르면 메인 화면은 나옵니다. 근데 방금전에 빽했던 액티비티들이 살아서 아주 놀아납니다.
메인->1번->백버튼으로 메인->2번->백버튼으로 메인->3번->백버튼으로 메인
이러니까 1,2,3번 액티비티들이 다 놀아나더군요ㅠㅠ
메인에서 버튼에 대한 이벤트는
Intent intent = new Intent(this, 1번클래스.class);
startActivity(intent);
finish();
1번 클래스 갔을경우
Intent intent = new Intent(this, 메인클래스.class);
startActivity(intent);
finish();
나머지 메인에서 2,3번으로 넘어가는 것과
2,3번에서 메인으로 넘어가는건 위랑 똑같습니다
넘겨주는 값 필요 없고 그냥 1번 액티비티에서 백버튼 누르면 1번 액티비티 종료하고 메인액티비티 나오게 이렇게 하고 싶습니다.
부탁드립니다용~_~
startActivity()로 이동 시 Stack에 Activity가 쌓여서 생기는 문제 같네요.
해결 방법은 간단하게 아래 두 방법이 있겠네요..
1) Main에서 1,2,3 번 Activity로 이동시에는 startActivity()를 사용하고
Main으로 회귀할려면 finish()를 사용하여 돌아가면 됩니다.
2) 만약 startActivity()를 사용해서 이동해야 하는 경우라면
1, 2, 3 번 Activity로 이동시에는 1)과 같고
Main으로 회귀할 때 Intent에 Intent.FLAG_ACTIVITY_CLEAR_TOP flag를 설정하고 startActivity() 하시면 됩니다.시면 됩니다.
Intent intent = new Intent(this, 메인클래스.class);
startActivity(intent);
finish();
이거 아니고.
finish();만 주세요
그런데 백키눌러서 돌아가는건 무조건 finish아닌가;
Intent.setflag(Intent.FLAG_ACTIVITY_CLEAR_TOP ); 이렇게 해보시길.. .그러면 메인 -> 아무짓거리 -> 메인 하면
아무짓거리란은 날라가요 슝~!
메인에서 버튼에 대한 이벤트는
Intent intent = new Intent(this, 1번클래스.class);
startActivity(intent);
finish();
여기서 finish();를 하시면 안되구요.
Intent intent = new Intent(this, 메인클래스.class);
startActivity(intent);
finish();
여기서는
Intent intent = new Intent(this, 메인클래스.class);
startActivity(intent);
을 하시면 안됩니다.




논다는게 뭔말이죠? 그리고 1번에서 메인으로 가는데 인텐트를 왜 또 하시나요?