2011-04-07 4 views
0

나는 3 개의 활동 A, B 및 C가 있습니다. 활동 A에는 항목 목록이 있습니다. 활동 A에서 한 행을 클릭하면 항목을 설명하는 활동 B가 호출됩니다. 활동 B에는 다른 목록이 있습니다. 나는 그것의 행을 클릭하면, 그것은 활동 C.번들 값 문제

를 호출 I는 A에서 B로 id 필드를 통과해야 다음 C.

나는 활동의 값

Small 
Medium 

이 있다고 가정 A.

나는이에서 Small을 클릭하고 활동 B로 이동 한 후 C. 모두에 잘 작동하고 있습니다. id가 통과하면 활동 전체에서 정확합니다.

지금 C에서, 나는 전화의 뒤로 버튼을 클릭하고 다음 agin 클릭 휴대 전화의 뒤로 버튼을 B로 가서 지금은 목록에서 Medium을 클릭하고

A.

에 가고. id은 B에 올바르게 전달됩니다. 그러나 C에 도달하면 대신 onCreate()이되지 않습니다. 거기에 id 값은 이전 값으로, 그 중 Small입니다. 하지만 올바른 이드를 원해. 이 문제의 원인은 무엇일까요? 아무도 도와 줄 수 없습니까? 미리 감사드립니다.

답변

1

나는 U는 U가 C

활동에 활동 C 만 중단, 살해되지 않기 때문에 문제가 발생
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
      finish(); 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+0

이렇게하면 내 전체 응용 프로그램이 닫히고 있습니다. 내 전체 활동은 활동 그룹 내에 있습니다 – Mathew

+0

싱글 인스턴스로 시도하십시오 – Hussain

+0

Activityc.this.finish(); – Hussain

0

back 버튼을 처리 r에 때 activity을 완료해야합니다 .. 생각합니다.

아직 테스트하지는 않았지만 Intent.putExtra을 통해 데이터를 전달하면 원하는 동작을 얻을 수 있다는 것을 확신합니다. (다른 추가 데이터로 인해 새 인스턴스가 시작될 수 있기를 진심으로 바랍니다.)이 도움이

희망,

필 Lello 당신은 기본적으로 (버튼을 다시 누르면 안드로이드 활동에서 내 지식이 파괴 얻을 당으로

0

). 활동간에 데이터를 전달하는 동안 귀하가 뭔가 잘못 생각한 것 같습니다. 하지만 여전히 채우면 활동과 관련이 없어진다. onPause() 메소드에서 Activity C를 완료 할 수 있습니다. 그것은 당신의 문제를 해결할 것입니다.