2016-10-01 6 views
1

저는 DrawerActivity을 주 활동으로하는 앱을 만들려고합니다. 서랍의 각 항목에 해당하는 8 개의 프래그먼트를 구현했습니다. 이제 내가 가진 문제는 프래임에서 DrawerActivity으로 돌아 가기 위해 뒤로 버튼을 누르려고 할 때마다, 결국 앱을 종료한다는 것입니다. 나는 3 일 동안 포럼에서 검색을 해왔으며 이에 대한 해결책을 찾지 못했습니다. 상당히 좌절했고, 나는 바보 같이 내 코드를 삭제 했으므로 지금 당장은 그것을 보여줄 수 없다. 누구나 간단히 말해서 뒤로 버튼을 사용하여 프래그먼트를 끝내고 내 주요 활동으로 돌아가는 방법을 설명 할 수 있습니까?어떻게 프래그먼트를 종료하고 뒤로 버튼을 사용하여 서랍 활동으로 돌아갈 수 있습니까?

현재 시나리오 : DrawerActivity은 모두 서로 독립적으로 8 개의 조각을 포함합니다. 조각 A ~ H라고 부르 자. 내가 조각 A에 갈 때 navigationDrawer을 열고 B에서 H까지 다른 조각으로 향해야한다. 그러나 뒤로 단추를 누르면 다시 돌아갈 수 있어야한다. 서랍 활동의 기본 페이지로 이동합니다.

제가 시도하지 못한 것은
입니다. 1. onBackPressed 및 popBackStack 사용.
2. 사용자 지정 수신기 만들기.
3. fragmentTransaction 사용.

+0

을'으로 다시 당신이 활동 첫번째 조각에 나에게 돌아 가지 의미 서랍 활동의 주요 page'로 이동? –

+0

조각이 활동의 ​​일부이기 때문에 다시 활동으로 돌아가는 것을 의미합니까? 예를 들어, 활동 페이지에 "HELLO"가 표시되면 조각으로 이동하여 뒤로 누르면 "HELLO"를 다시 볼 수 있습니다. – CannonBaller9Pin

+0

@ CannonBaller9Pin "HELLO"TextView (또는 텍스트를 표시하는 데 사용하는보기)를 XML 파일에 정의 했습니까? –

답변

0

슈퍼 클래스 메서드를 호출하지 않고 onBackPressed()를 재정의하려 했습니까? (당신이 호출되고부터 끝까지()를 방지 그래야.)이없는

@Override 
public void onBackPressed() { 
    //show Fragment A 
} 

전화를 "super.onBackPressed()"와 그것을 작동합니다.

+0

현재 조각에서 다른 조각으로 돌아가고 싶지 않습니다. 조각을 시작한 활동으로 돌아가고 싶습니다. – CannonBaller9Pin

0

나는 얼마나 어리석은 지 믿을 수 없다. 서랍 활동의 첫 번째 조각이 항상 기본 조각이라는 사실을 갑자기 깨달았을 때 휴대 전화에서 Gmail 앱을 사용하고 있었으며 앱은 뒤로 버튼을 눌러도 되돌릴 수 있습니다. 제가 생각한 것은 서랍 활동이 뒤로가 눌렀을 때 원래의 상태로 돌아갈 것이라고 생각했지만, 조각이 활동 그 자체의 일부라는 사실을 설명하지 않았습니다. 내 문제를 이해하려고 노력해 주셔서 고맙습니다. 문제는 아니지만 ... 나 자신에도 불구하고 배운 것 같습니다.

0

이 같은 스택 다시 안드로이드에 조각을 추가해야합니다

getSupportFragmentManager() 
      .beginTransaction() 
      .replace(R.id.your_container,fragment,fragment.TAG) 
      .addToBackStack(null) 
      .commit();