나는 내가 ActivityGroup
이 그 탭 중 하나에서 TabHost
를 포함하는 응용 프로그램을 개발하고있어,이 ActivityGroup
에서, 나는 다른 SubActivity
(의 난이 Activity
을 시작 가정 해 봅시다)를 시작하고, 이 때까지 모든 것이 OK입니다.이동은
문제는 내가 BACK 버튼에서, CurrentActivity (Activity
A)가 파괴 눌러하지만 ParentActivity합니다 (ActivityGroup
)이 재개되지 않으며, 내 응용 프로그램의 제목 (와 응용 프로그램 쇼 단지 널 창 때입니다 "내 신청서 제목").
View view = getLocalActivityManager().startActivity(id,newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView();
this.setContentView(view);
그리고 난 내 ActivityGroup
이 같은 방법 onKeyDown
overrided
있습니다 :
내 ActivityGroup
에서 Activity
을 실행하는 코드 것은
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.i(TAG, "onKeyDown");
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
Activity current = getLocalActivityManager().getCurrentActivity();
Log.i(TAG, current.getIntent().getStringExtra("id"));
current.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
하지만 보인다 방법 onKeyDown
ai가 "onKeyDown"로그를 표시하지 않았기 때문에 호출되지 않습니다.
01-05 11:04:38.012: W/KeyCharacterMap(401): No keyboard for id 0
01-05 11:04:38.012: W/KeyCharacterMap(401): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
내가 원하는 것은 표시하는 것입니다 ActivityGroup
내 Activity
A를 파괴 할 때.
NB : 내 응용 프로그램 수준은 4 : * 안드로이드 1.6 *, 그래서 내가 할 수없는override
방법 onBackPressed()
는 당신의 도움에 대해 감사
----------------------------------- EDIT ------------- ---------------------------
내가 내 Activity
(A)에이 같은 내 onKeyDown
의 코드를 추가 한 :
@Override 공공 부울 onKeyDown에 (INT 키 코드, KeyEvent를 이벤트) {내 ParentActivity
에서
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
ParentActivity parentActivity = (ParentActivity) this.getParent();
parentActivity.onKeyDown(keyCode, event);
return true;
}
return super.onKeyDown(keyCode, event);
}
그리고, 난이 :
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
Log.i(TAG, "onKeyDown");
int len = idOfSubActivities.size();
String idOfCurrentActivity = idOfSubActivities.get(len-1);
Activity currentActivity = getLocalActivityManager().getActivity(idOfCurrentActivity);
currentActivity.finish();
idOfSubActivities.remove(len - 1);
return true;
}
return super.onKeyDown(keyCode, event);
}
내가 같은 결과를 얻었다는
Activity
A는 정지하지만, 여전히 나에게 일에 널 창을 제공 전자 내 응용 프로그램의 제목, 그리고 내가 먼저
ActivityGroup
의 실험을 시작했을 때 나는이 비슷한 문제에 직면 내
ActivityGroup
(
ParentActivity
)
내가 이것을 시도 할 것이다, 내 편집을 참조하십시오 귀하의 회신 : – Houcine
에 대한 감사, 내가했던 FuzzicalLogic, 당신은 몇 가지를 제공하시기 바랍니다 수 있습니다 당신이 말한 코드에 대해 고마워요. – Houcine
예, 잡기 위해 몇 시간을주세요. (나는 일하고있어 내가 집에서 사용하는 응용 프로그램입니다.) ... –