활동 스택에 대한 도움이 필요합니다. 내 응용 프로그램에서 활동 스택에서 활동을 표시하는 방법
난 내가 버튼 취소가 4 화면으로 이동 할 때 (6 개) 화면을 사용자가1-->2-->3-->4-->
에서 이동이
그 버튼을 사용자가 클릭 그것은 두 번째 화면과
로 이동해야 할 때사용자가 키패드에서 뒤로 버튼을 클릭하면 이미 활성 스택 인 화면으로 이동해야합니다. 어떻게해야합니까?
예를 들어주십시오.
활동 스택에 대한 도움이 필요합니다. 내 응용 프로그램에서 활동 스택에서 활동을 표시하는 방법
난 내가 버튼 취소가 4 화면으로 이동 할 때 (6 개) 화면을 사용자가1-->2-->3-->4-->
에서 이동이
그 버튼을 사용자가 클릭 그것은 두 번째 화면과
로 이동해야 할 때사용자가 키패드에서 뒤로 버튼을 클릭하면 이미 활성 스택 인 화면으로 이동해야합니다. 어떻게해야합니까?
예를 들어주십시오.
onBackPressed()
을 사용하고 필요한 활동을 시작하거나 다시 시도하는 의도 메커니즘. 사용자가 버튼을 클릭하면 화면에 btn을
감사합니다 Madimir,하지만 onBackPressed()는 android 1.5에서 사용할 수 없습니다. –
그런 다음 onKeyDown()을 사용하십시오. –
하지만 이미 활동 스택에있는 1 개의 화면을 표시하고 싶습니다. –
// 돌아 가기 위해 4
Onclick(View v)
{
if(v==Backbtn)
{
finish();
startActivity(new intent(this,SecondActivity.class));
}
}
는 // 다시 키 누름 그냥 FLAG_ACTIVITY_CLEAR_TOP
을 사용하여 1 개 화면
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
startActivity(new intent(this,FirstActivity.class));
return true;
}
return super.onKeyDown(keyCode, event);
}
코드가 SecondActivity on Third를 시작하고 First on Fourth Activity를 시작합니다. 뒤로 버튼을 누르면 각각 위에 세 번째와 네 번째 활동이 표시됩니다. 호기심이없는 – pawelzieba
로 돌아갑니다 :
를Intent intent = new Intent(ActivityD.this, ActivityB.class);
Intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
는 사용자가 다시 누르면 :
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent intent = new Intent(ActivityD.this, ActivityA.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
}
return super.onKeyDown(keyCode, event);
}
이 코드 때문에 FLAG_ACTIVITY_SINGLE_TOP
의 재현되지 않습니다 첫째 activity.The 활동에 사용자를 취할 것입니다. 액티비티가 이미 백 스택에 있으면 onNewIntent()가 호출되어 예를 들어 인 텐트의 데이터를 사용할 수 있습니다.
당신이 당신의 행동에 대한 기본 행동을 원한다면,이 깃발을 안드로이드 매니페스트에 활동 선언으로 넣으십시오.
은 1.5에서 사용할 수 있습니까? 나는 그 국기를 알지 못해서 고마워. :) – Viren
이 깃발은 API 1부터 사용 가능하다. :) – pawelzieba
나는 대답을 편집했습니다. FLAG_ACTIVITY_SINGLE_TOP은 (는) 이미 액티비티 스택에있는 첫 번째 화면으로 이동합니다. – pawelzieba