2011-09-26 5 views
7

내가 이것을하려고하는 이유에 대한 약간의 정보 : 나는 ActivityGroups를 사용하여 tabHost 활동에서 활동을 열고 탭 아래에 새로운 활동을 남겨두고있다. 그 부분이 있습니다. 그러나 새로운 활동에서, 뒤로 버튼을 사용하면 탭 활동에서 바로 나에게 걸립니다. 그래서 몇 번 클릭해야만 원래 위치로 돌아갈 수 있습니다.안드로이드 뒤로 버튼 덮어 쓰기

현재 활동 창을 죽이는 대신 특정 활동으로 가기 위해 뒤로 버튼을 설정하는 방법이 있습니까?

+0

http://stackoverflow.com/q/2459848/632951 – Pacerier

답변

5

일반적으로 UX를 손상시키기 때문에 반대하는 것이 좋습니다. 사용자는 특히 탭 호스트를 사용하고 있기 때문에 뒤로 버튼이 전체 윈도우를 종료 할 것으로 기대합니다. 사용자에게 전체 묶음 (탭 및 전체)은 그가 뒤로 버튼을 누를 때 나가기를 원하는 단일 활동입니다.

그래도 수행하려는 경우 #onBackPressed()을 참조하십시오. 액티비티가 사용자가 뒤로 키를 누른 것을 감지하면이 메서드가 호출됩니다. 기본값은 활동을 끝내는 것이지만 원하는대로 할 수 있습니다. 나는주의와주의를 권고한다.

here에서 영감을 얻을 수 있습니다.

+0

나는 UX를 망치고 싶지 않다는 것에 동의한다. 내 상황에서 편리하고 심지어 의미가있을지라도 조금 더 생각한 후에. 나는 앞뒤로가는 또 다른 방법을 찾아야 할 것이다. – ryandlf

7

난 당신이 뭔가를 할 수한다고 생각 :

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
     // start new Activity here 
    } 
    return super.onKeyDown(keyCode, event); 
} 

하지만 뒤로 버튼의 예상 기능을 무시하는 것은 바람직하지 않습니다.

+0

내비게이션을 실현하는 좋은 방법이라고 생각합니다. 시각적 인 접근 방식이 사용자에게 투명하고 사용자가 탐색 시작 *에 도달하면 다시 클릭의 기본 동작을 트리거 할 수있는 한 (아마도 두 번 클릭하여 - 사용자가 느리게 클릭하면 토스트 힌트) – Knickedi

+0

저를 위해 일했습니다. 고마워요. –