2013-08-08 1 views
0

나는 안드로이드를 처음 사용하는데 TabActivity를 사용하고 있습니다. TabActivity에서 나는 의도로부터 활동을 시작했다. 활동 순서 A - B - C - D 그런 다음 활동 D에서 어떻게 동일한 새로운 활동 A (이전 A 삭제)를 만들 수 있습니까? FLAG_ACTIVITY_REORDER_TO_FRONT를 사용하면 활동을 생성하지 않고 대신 마지막 활동 A를 엽니 다. Clear_top을 사용하면 B 및 C 활동이 삭제됩니다.TabHost : 다른 활동을 파괴하지 않고 활동 시작

도와주세요.

답변

2

당신이 활동 A 내에서 활동 B를 호출, Intent를 사용하여 새로운 활동 B을 만든 후 finish()를 호출합니다. 그러면 여기에 Activity A이 종료됩니다. 그런 다음 다시 Activity D에서 인 텐트를 사용하여 새 활동 A을 만들 수 있습니다. 희망이 도움이됩니다.

+0

TabHost를 사용할 때 어떻게해야합니까? – user2601652

+0

'TabActivity' 권한 안에서'TabHost'를 사용해야합니까? 'TabActivity'는 또한 활동을 확장합니다. 그래서 그것은 문제가되어서는 안됩니다. –

0

당신이에서 활동 B를 호출하려고하는 당신이 키워드 finish() 과를 사용하여 활동을 파괴 할 수 있습니다 때
그래서 다음 활동을 호출하기 전에 이전 활동을 파괴하는 것을 고려할 수 있습니다 마찬가지로 당신이 이동할 때 B to CC to D에서 D 액티비티가 C 액티비티를 파괴하고 새로운 액티비티 A를 호출하여 A 액티비티가 다시 시작되도록합니다.

finish(); //finish the current class 
Intent intent = new Intent(); 
intent.setClass(getApplicationcontext(), nextclass.class); //specify the next class 
startActivity(intent);  //start the next class. 

0

http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

안드로이드 : launchMode 당신이 찾고있는 해답이 될 수 있습니다. 문서에서 (있는 경우)

Every time there's a new intent for a "standard" activity, a new instance of the class is created to respond to that intent. Each instance handles a single intent.

는 그대로 새로운 인스턴스가 현재 스택의 상단에 생성됩니다 현재 스택에 남아 기존의 활동을 의미합니다. 따라서 사용자가 뒤로 버튼을 누르면 스택 맨 아래에 활동 A가 표시됩니다.

관련 문제