2012-05-04 1 views
3

세 가지 활동 -A B 및 C 중 B가 탭 활동입니다. TabActivity에서 키를 뒤집을 의도 설정

public void onStop() { 
    super.onStop(); 
    this.finish(); 
} 

가 지금은 다시 키를

B에 눌렀을 때 작업 C를 실행하려면

B가이 코드를 사용하여 시작할 때 내가 활동을 완료 활동 A가 먼저 시작되고, B는 A.에서 시작됩니다

나는 아동 활동을 시작하면서

@Override 
public void onBackPressed() { this.getParent().onBackPressed(); 
} 

이 상위 활동으로 도움이되지 않습니다 완료되는이 코드를 사용하여 키를 다시 무시했습니다. 뒤로 키를 누를 때 실제로 일어나는 일은 활동이 홈 화면에서 빠져 나가는 것입니다.

나는 다시 키를 무시하고이 또한 나에게 도움이되지 않습니다 그것은

@Override 
public void onBackPressed() { 
    Intent backIntent = new Intent(); 
    backIntent.setClass(this, main.class); 
    startActivity(backIntent); 
} 

에 텐트를 설정했습니다. 이 문제의 가능한 해결책은 무엇입니까? 뒤로 키를 누르면 활동 C를 시작할 수 있습니까?

+0

시도 .... backIntent.setClass (이, C.class); – dira

답변

5

먼저 활동 A를 완료하지 말아야 사용자가 뒤로 버튼을 눌렀을 때 C 액티비티를 시작하려면 아래 코드를 사용하십시오.

@Override 
public void onBackPressed() { 
    Intent backIntent = new Intent(this, C.class); 
    startActivity(backIntent); 
    super.onBackPressed(); 
} 
+0

노력해 주셔서 감사합니다. 나는 이것을 시도했다. 문제는 여전히 지속됩니다. 활동 C가 시작되지 않았습니다 – darsh

+0

감사합니다. 그것은 또한 나를 도왔다. – Rohit

1

당신은 사용자가 장치 하드로 돌아 가기 버튼을 누를 때 호출됩니다

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 

    if (keyCode == event.KEYCODE_BACK) 
    { 
     //Do your code here 
    } 
    return super.onKeyDown(keyCode, event); 
} 
} 

onKeyDown에 우선해야합니다.

다음 활동으로 이동하려면 : StartActivity (새 인 텐트 (getApplicationContext(), main.class)); 활동 A는 이것이 당신이 활동 B. 예를 들어

을 시작할 때

Intent i = new Intent(this, B.class); 
startActivity(i); 
finish(); 

지금 당신에게 작업을 완료 할 필요가 대신 완전히 잘못된 접근입니다 멈출 때

+0

시도해보십시오. 불행히도 문제는 지속됩니다. – darsh

0

무시 아래의 방법과 수입 이벤트 .....

public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
// TODO Auto-generated method stub 

    if (keyCode == event.KEYCODE_BACK) 
    { 
     //Write your intent or other code here 
    } 
    return super.onKeyDown(keyCode, event); 
}