옹박프레스트 구현 방법 () 의 조각?

우리는 '안드로이드' 를 구현할 수 있는 방법이 옹박프레스트 () 에 있는 것과 비슷한 부분이 저희에게는힘과 구현하십시오 안드로이드 작업을요?

조각 같은 수명주기의 옹박프레스트 없는 ' ()'. 또 다른 방법을 통해 다른 유지됩니까 옹박프레스트 안드로이드 3.0 () '가' 조각?

질문에 대한 의견 (8)

내가 이런 식으로 '해결' 에 오버라이드합니다 옹박프레스트 활동까지입니다. '모든' 프레이크망트란스카션 '이' 전에 아다토백스타크 커밋합니다:

@Override
public void onBackPressed() {

    int count = getSupportFragmentManager().getBackStackEntryCount();

    if (count == 0) {
        super.onBackPressed();
        //additional code
    } else {
        getSupportFragmentManager().popBackStack();
    }

}
해설 (8)

최선의 방법이라고 나는 것

자바 솔루션

만들기 간편한 인터페이스:

public interface IOnBackPressed {
    /**
     * If you return true the back press will not be taken into account, otherwise the activity will act naturally
     * @return true if your processing has priority if not false
     */
    boolean onBackPressed();
}

또한 사용자의 활동을

public class MyActivity extends Activity {
    @Override public void onBackPressed() {
    Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.main_container);
       if (!(fragment instanceof IOnBackPressed) || !((IOnBackPressed) fragment).onBackPressed()) {
          super.onBackPressed();
       }
    } ...
}

마지막으로 네 조각:

public class MyFragment extends Fragment implements IOnBackPressed{
   @Override
   public boolean onBackPressed() {
       if (myCondition) {
            //action not popBackStack
            return true; 
        } else {
            return false;
        }
    }
}

코틀린 솔루션이므로

1 - Create 인터페이스입니다

interface IOnBackPressed {
    fun onBackPressed(): Boolean
}

2 - 준비하는 활동

class MyActivity : AppCompatActivity() {
    override fun onBackPressed() {
        val fragment =
            this.supportFragmentManager.findFragmentById(R.id.main_container)
        (fragment as? IOnBackPressed)?.onBackPressed()?.not()?.let {
            super.onBackPressed()
        }
    }
}

부분 대상 환경에서 구현하십시오 # 3 -

class MyFragment : Fragment(), IOnBackPressed {
    override fun onBackPressed(): Boolean {
        return if (myCondition) {
            //action not popBackStack
            true
        } else {
            false
        }
    }
}
해설 (11)

그 다음은 의사코드 방법을 따르면 @HaMMeRed 작동하잖아. 주 업무는 활동을 할 수 있는 자 '조각' 브라이스티비티 호출됨 (주로 스리딩메누 lib 예). 다음은 단계만으로

인터페이스를 구현하는 방법을 가지고 그 생성 및 클래스용 인터페이스입니다 일반 먼저 필요하다.

  1. '클래스 생성 인터페이스입니다 옹박프레스트리스트너'

공용 인터페이스입니다 옹박프레스트리스트너 { public void 도백 (); }

  1. '의 기술을 구현하는' 옹박프레스트리스트너 클래스 생성

public class 는 옹박프레스트리스트너 바제백프레스트리스트너 { 최종 프레이크망스티비티 개인 활동.

공용 바제백프레스트리스트너 (프레이크망스티비티 활동) { 티스트라스티비티 = 활동. }

@Override public void 도백 () { 스포프백스타크 스티비티오크레스포르트 프레이크망만거 () (null, FragmentManager.POP_BACK_STACK_INCLUSIVE); } }

  1. 지금 이후, 대화할거에요 작동합니까 브라이스티비티 코드 '의' 및 그 부분
  2. 프라이빗 리스너에 브라이스티비티 클래스에서 '위에'

금지되었는지 옹박프레스트리스트너 옹박프레스트리스트너.

  1. 만들기 '에서' 브라이스티비티 리스너에 설정하기 위한 방법을

public void 시튼백프레스트리스트너 (옹박프레스트리스트너 옹박프레스트리스트너) { 티s.옹박프레스트리스트너 = 옹박프레스트리스트너. }

뭐 그런 '에서' 옹박프레스트 구현하십시오 오버라이드합니다 6.을 (를)

@Override public void 옹박프레스트 () { if (null 옹박프레스트리스트너! =) 옹박프레스트리스테네스터도백 (); 다른 스페리옹박프레스트 ();

  1. in your 조각 '에서' 언크리티비우 리스너에 추가해야 합니다.

@Override 공용 보기에 언크리티비우 (레이우틴플라터 인플레이터, 비베그룹 컨테이너인 번들에는 사브딘스턴스국가) { 활동 = 그레이스티비티 ();

((브라이스티비티) 활동) 윈스턴백프레스트리스트너 (새 바제백프레스트리스트너 (활동));

보기 보기 =. . 함께 //stuff 보기

다시 보기; }

이제 다시 클릭하면 보실 수 있는 사용자 정의 부분 짜잔 합니다 뒤로를 메서드입니다.

해설 (6)

이 협력했습니다 가져다줄래요: https://stackoverflow.com/a/27145007/3934111

@Override
public void onResume() {
    super.onResume();

    if(getView() == null){
        return;
    }

    getView().setFocusableInTouchMode(true);
    getView().requestFocus();
    getView().setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK){
                // handle back button's click listener
                return true;
            }
            return false;
        }
    });
}
해설 (4)

그러한 종류의 그들이성년에 경우 사용자가 필요로 하는 기능을 추가한 다음 무시하려면 it in your 활동, 'a' 당신의 모든 관련 있는 조각 조각, 유르바크프레스트 인터페이스입니다 전화하시기 뒤로를 버튼을 누를 때마다.

편집: 저의 이전 첨부하려면 i&; d # 39 와 같은 대답.

If I were 이를 위해 현재 I& 사용할 경우, 또는 기타 브로드캐스트에; d # 39 는 제가 걱정했던것 순서화된 브로드캐스트에 업데이트하려면 적절히 이용하여 마스터야 / 주요 내용이 다른 패널과 패널.

'로카레브로드카스트만거' 에서 지원 라이브러리 도움을 줄 수 있는 '와' 이, 방금 가입 브로드캐스트에 옹박프레스트 보낼 수 있는 조각과 그 사고를 당했다. 내 생각에 메시징으로 것이 더 나은 것 때문에 이제 내 공식 구축상의 권장안을 배율입니다 구축 및 분리 될 것 "이라고 말했다. 그냥 '의도' & # 39 의 작업을 위해 필터링합니다 사용하여 메시지가 있다. 새로 만든 '보내기' 에서 활동, 이에 대한 귀를 ACTION_BACK_PRESSED send it 관련 부분.

해설 (7)

과연 어떤 기능을 구현하기 쉬운 disk_b_s10database 최적의 방법입니다.

조각 작업을 수행할 수 있는 메서드 호출 오네타흐 있다.

@Override
    public void onDetach() {
        super.onDetach();
        PUT YOUR CODE HERE
    }

이 작업을 할 것이다.

해설 (5)

네 조각을 간의 전환 등 추가하기만 아다토백스타크 '때' (아래 참조).

fragmentManager.beginTransaction().replace(R.id.content_frame,fragment).addToBackStack("tag").commit();

'쓰기' 아다토백스타크 (null), 그렇지 않을 경우 자체적으로 감당할 신앙이니라 you give 태그를 직접 다뤄야 할 수 있습니다.

해설 (3)

이 질문에 대한 답을 드리겠습니다, 이들 중 일부는 이후 5 년 이상 된 내 솔루션이므로 공유할 수 있다. 이는 @oyenigun 후속 및 현대화에 대한 답을

  • UPDATE:* 이 문서의 맨 아래에 있는 추상적인 조각을 사용하여, 내가 대체 구축현 추가되든지 확장명은 won& # 39, t mediaagent 활동 전혀 될 수 있는 유용한 네스트된 조각 조각 등 보다 복잡한 구조를 가진 사람이라면 다른 프로그램용으로 뒤로를 비헤이비어를.

이 때문에 일부 작은 조각을 가지고 있는 뷰) 을 구현하는 데 필요한 내가 사용하고 있는 작은 뒤로를 버튼를 생략하려면 싶다 등 모든 사람에게 좋은 정보 등을 총괄적으로 등장하고 있지만, 이것은 무시하려면 δ1 조각이 뒤로 버튼을 비헤이비어에 합니다.

  • 최초로 정의하십시오 인터페이스입니다 *
public interface Backable {
    boolean onBackPressed();
}

이 인터페이스입니다 에 전화해서 '박이블' (I& 잔소리가 심한 사람, m a # 39 의 명명 규칙), 'a' () 는 단 하나의 방법 '가치' 가 부울을 옹박프레스트 반품해야 합니다. 부울 값을 적용 해야 할 수 있기 때문에, 단추 누름에 &quot absorbed&quot 뒤로를 다운로드되었는지 있다. 뒤쪽 이벤트. 'True' 돌아온 것은 더 이상 없다고 밝히고 있고, 그렇지 않으면, '거짓' 필요한 조치 작업은 여전히 뒤로를 기본값입니다 이뤄져야 한다. 이 인터페이스입니다 제공하십시오 it& # 39 의 자체 파일 (대부분 이름이 '인터페이스와도 별도의 패키지'). 네 좋습니다 패키지로 클래스뿐만 너희에게베풀어진 분리하는 것이 있다.

, 상위 두 번째 조각 찾기

내가 만든 단편 '마지막' 반환하는 메서드입니다 스택할 뒤로를 (object). 내가 사용하는 것이다. # 39 의 ID& 사용하는 경우, 필요에 따라 변경합니다. 나는 이 정적 메서드에 다루는 클래스를 유틸리티 탐색 상태, etc. 물론 가장 적합한 것이 곳에 있습니다. # 39 라는 나프티우스 교화를 위해 I&, ve 동일팔레트에 내거냐 클래스에서 ','.

public static Fragment getCurrentFragment(Activity activity) {
    FragmentManager fragmentManager = activity.getFragmentManager();
    if (fragmentManager.getBackStackEntryCount() > 0) {
        String lastFragmentName = fragmentManager.getBackStackEntryAt(
                fragmentManager.getBackStackEntryCount() - 1).getName();
        return fragmentManager.findFragmentByTag(lastFragmentName);
    }
    return null;
}

그렇지 않으면 0 보다 크면 smartupdate 스택할 카운트입니다 뒤로 던져 '할 수 있는' 아라유토프보운세스세페시옹 http://support. 런타임용으로 개발하십시오. # 39 는 0 보다 크면, isn& 경우 복귀하십시오 nulll. # 39, ll 확인할지 we& null 값이 된다.

, 제 3 의 조각은 구현하십시오.

어떤 인터페이스를 구현하는 '조각' 박이블 필요한 곳에 뒤로를 무시하려면 버튼 비헤이비어를. 구현 방법을 추가합니다.

public class SomeFragment extends Fragment implements 
        FragmentManager.OnBackStackChangedListener, Backable {

...

    @Override
    public boolean onBackPressed() {

        // Logic here...
        if (backButtonShouldNotGoBack) {
            whateverMethodYouNeed();
            return true;
        }
        return false;
    }

}

옹박프레스트 () ',' 의 모든 논리를 동일팔레트에 오버라이드합니다 합니다. 스케쳐내 뒤로를 진정한 스택할 다시 돌아올 수 없는 팝 (기본값입니다 비헤이비어를), 그 뒤에 행사는 푹 빠졌다. 그렇지 않으면 반품하십시오 거짓값.

  • 마지막으로 in your Activity.*

오버라이드합니다 옹박프레스트 방법 및 추가 로직을 () '' 이 있다.

@Override
public void onBackPressed() {

    // Get the current fragment using the method from the second step above...
    Fragment currentFragment = NavUtils.getCurrentFragment(this);

    // Determine whether or not this fragment implements Backable
    // Do a null check just to be safe
    if (currentFragment != null && currentFragment instanceof Backable) {

        if (((Backable) currentFragment).onBackPressed()) {
            // If the onBackPressed override in your fragment 
            // did absorb the back event (returned true), return
            return;
        } else {
            // Otherwise, call the super method for the default behavior
            super.onBackPressed();
        }
    }

    // Any other logic needed...
    // call super method to be sure the back button does its thing...
    super.onBackPressed();
}

현재 우리가 해야 할 수 있는지 확인하고 뒤로를 절의 스택할 관심용 널 (null) 는 '우리' 박이블 인터페이스입니다. 만약 그렇다면 있는지 이 행사는 푹 빠졌다. # 39, re () '와 함께' 옹박프레스트 비활성화되면 we& 수행됨 반환할 수 있습니다. 그렇지 않으면 이를 치료하는 뒤로를 언론과 일반 security. 슈퍼 메서드입니다.

    • 두 번째 옵션은 활동을 할 수 없습니다.

39 이 시간에 전날에약혼자에게 don& 활동, t 다운로드하려는 처리할 수 있으며, 이 부분이 전혀 내에서 직접 처리할 수 있습니다. T , 와 # 39 조각을 가지고 있지만 누가 너 can& 뒤로를 누름에 apiu? 그냥 연장하십시오 조각 새 구분된다.

추상 클래스를 작성할 연장시킵니다 조각 및 '는' 비베그론키리스트너 인터페이스입니다.

import android.app.Fragment;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;

public abstract class BackableFragment extends Fragment implements View.OnKeyListener {

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        view.setFocusableInTouchMode(true);
        view.requestFocus();
        view.setOnKeyListener(this);
    }

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (event.getAction() == KeyEvent.ACTION_UP) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                onBackButtonPressed();
                return true;
            }
        }

        return false;
    }

    public abstract void onBackButtonPressed();
}

모든 것을 알 수 있듯이, '조각' 은 '클릭' 비베그론키리스트너 사용하여 자동으로 캡처하지 연장시킵니다 박이블프레이크망 뒤로를 인터페이스입니다. 그냥 security. 추상 '옹박버튼프레스트 ()' 에서 '방법을 사용하여 표준 분별할 수 있는 방법을 구현됩니까 론키 ()' 논리를 뒤로를 단추 누름에. 주요 버튼을 클릭하면 장부를요 할 경우 반드시 뒤로를 아닌, 그냥 '슈퍼' 때 ' ()' 에 호출하십시오 메서드로부터 론키 조각, 그렇지 않으면, ll 재정의을 you& 비헤이비어를 override # 39 의 추상화.

그냥 간단한 사용, 확장 및 구현:

public class FragmentChannels extends BackableFragment {

    ...

    @Override
    public void onBackButtonPressed() {
        if (doTheThingRequiringBackButtonOverride) {
            // do the thing
        } else {
            getActivity().onBackPressed();
        }
    }

    ...
}

이후 '추상 클래스는 옹박버튼프레스트 ()', '옹박버튼프레스트 확장할 수 있는 방법을 한 번 ()' 슈퍼 구현해야 합니다. 이 때문에 내 동작을 수행하는 데 필요한 '그냥' void 되돌려줍니다 부분 클래스 및 언론의 흡음률 전달할 필요는 백됩니다 활동까지입니다. Smartupdate you do security. 옹박프레스트 () '활동,' re back 버튼을 doesn& 경우, 어떤 방법을 you& # 39 업무를 하고, 그렇지 않으면, t # 39 취급료 뒤로를 버튼를 비활성화됨을 합니다. # 39, t don& 진실이며당신이 것을 원하는!

  • 시 * 보시다시피 이 세트 및 주요 루트로 리스너에 보기입니다 we& # 39, ll 필요한 부분에 집중할 수 있습니다. 편집하십시오 관련된 되는 경우 (또는 다른 초점 훔치기 뷰) 에 있는 클래스 (class) 에서는 이 부분 (또는 다른 내부 조각 또는 보기가 같은), you& # 39, ll 처리해야 하는 것으로 전망된다. # 39 의 there& 좋은 기사를 확장 오버클로킹된 에디트스트 를 집중 손실됩니다 뒤로를 키를 누릅니다.

만약에 이 유용한 사람이 됐으면 좋겠다 "고 말했다. 즐거운 코딩.

해설 (6)

해법은 간단하다.

  1. 기본 조각 조각, 이 경우 모든 클래스에서 s 클래스, 그렇지 않으면 다음 추가 연장 코드를 만드는 기본 부분 클래스 등 it& # 39.
 /* 
 * called when on back pressed to the current fragment that is returned
 */
 public void onBackPressed()
 {
    // add code in super class when override
 }
  1. 에, 활동 클래스를 오버라이드합니다 옹박프레스트 다음과 같습니다.
private BaseFragment _currentFragment;

@Override
public void onBackPressed()
{
      super.onBackPressed();
     _currentFragment.onBackPressed();
}
  1. 에 추가하여 부분 클래스, 원하는 코드:
 @Override
 public void onBackPressed()
 {
    setUpTitle();
 }
해설 (1)

왜냐면 옹박프레스트 조각 '수 () 에서 분리하시겠습니까 활동까지입니다.

답변 디아즈 @Sterling 따르면 않노라그분이 그러겄지 생쥐라. 그러나 일부 상황이 될 잘못됐다. (ex. 로테이트 화면)

그래서, 내가 생각하는 ' ()' 목표 달성에 이레모빙 여부를 확인할 수 있었습니다.

'오네타흐 ()' 또는 '오네스트로이비에프 ()' 에서 이 쓸 수 있습니다. 그것은 작동합니다.

@Override
public void onDetach() {
    super.onDetach();
    if(isRemoving()){
        // onBackPressed()
    }
}

@Override
public void onDestroyView() {
    super.onDestroyView();
    if(isRemoving()){
        // onBackPressed()
    }
}
해설 (0)

아래와 같은 프로젝트에 인터페이스입니다 추가해야 합니다.

public interface OnBackPressed {

     void onBackPressed();
}

그리고, 조각, 따라 이 인터페이스를 구현할 수 있습니다.

public class SampleFragment extends Fragment implements OnBackPressed {

    @Override
    public void onBackPressed() {
        //on Back Pressed
    }

}

이 같은 활동을 옹박프레스트 이벤트 밑에 옹박프레스트 아래에 이벤트 및 트리거할 수 있습니다.

public class MainActivity extends AppCompatActivity {
       @Override
        public void onBackPressed() {
                Fragment currentFragment = getSupportFragmentManager().getFragments().get(getSupportFragmentManager().getBackStackEntryCount() - 1);
                if (currentFragment instanceof OnBackPressed) {  
                    ((OnBackPressed) currentFragment).onBackPressed();
                }
                super.onBackPressed();
        }
}
해설 (1)

그럼 저는 이렇게 done it for me, it 작동합니까

단순한 인터페이스

  • 프레이크망옹박클리킨테르파시오스자바 *
public interface FragmentOnBackClickInterface {
    void onClick();
}

예 구축상의

  • 마리 프레이크망.자바 *
public class MyFragment extends Fragment implements FragmentOnBackClickInterface {

// other stuff

public void onClick() {
       // what you want to call onBackPressed?
}

그럼 그냥 옹박프레스트 오버라이드합니다 활동을

    @Override
public void onBackPressed() {
    int count = getSupportFragmentManager().getBackStackEntryCount();
    List frags = getSupportFragmentManager().getFragments();
    Fragment lastFrag = getLastNotNull(frags);
    //nothing else in back stack || nothing in back stack is instance of our interface
    if (count == 0 || !(lastFrag instanceof FragmentOnBackClickInterface)) {
        super.onBackPressed();
    } else {
        ((FragmentOnBackClickInterface) lastFrag).onClick();
    }
}

private Fragment getLastNotNull(List list){
    for (int i= list.size()-1;i>=0;i--){
        Fragment frag = list.get(i);
        if (frag != null){
            return frag;
        }
    }
    return null;
}
해설 (8)

프랑버스 사용하는 경우, 그것은 아마도 훨씬 간단해진다는 해결책:

&gt. 네 조각:

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    EventBus.getDefault().register(this);
}

@Override
public void onDetach() {
    super.onDetach();
    EventBus.getDefault().unregister(this);
}

// This method will be called when a MessageEvent is posted
public void onEvent(BackPressedMessage type){
    getSupportFragmentManager().popBackStack();
}

또한 자신의 활동 클래스를 정의할 수 있습니다.

@Override
public void onStart() {
    super.onStart();
    EventBus.getDefault().register(this);
}

@Override
public void onStop() {
    EventBus.getDefault().unregister(this);
    super.onStop();
}

// This method will be called when a MessageEvent is posted
public void onEvent(BackPressedMessage type){
    super.onBackPressed();
}

@Override
public void onBackPressed() {
    EventBus.getDefault().post(new BackPressedMessage(true));
}

포조 객체에는 박프레스트메사게.자바 뿐이다

이것은 슈퍼 청소하십시오 없다 인터페이스입니다 / 구축상의 귀찮아.

해설 (0)

이것은 단지 할 수 있는 작은 코드 의심하게 된다.

 getActivity().onBackPressed();

이를 통해 희망을 누군가:)

해설 (2)

이건 내 해결책:

&gt. in MyActivity.java:

public interface OnBackClickListener {
        boolean onBackClick();
    }

    private OnBackClickListener onBackClickListener;

public void setOnBackClickListener(OnBackClickListener onBackClickListener) {
        this.onBackClickListener = onBackClickListener;
    }

@Override
    public void onBackPressed() {
        if (onBackClickListener != null && onBackClickListener.onBackClick()) {
            return;
        }
        super.onBackPressed();
    }

&gt. 또한 Fragment:

((MyActivity) getActivity()).setOnBackClickListener(new MyActivity.OnBackClickListener() {
    @Override
    public boolean onBackClick() {
        if (condition) {
            return false;
        }

        // some codes

        return true;
    }
});
해설 (0)

오네스트로이비에프 () 를 사용하여 어때?

@Override
public void onDestroyView() {
    super.onDestroyView();
}
해설 (2)
public class MyActivity extends Activity {

    protected OnBackPressedListener onBackPressedListener;

    public interface OnBackPressedListener {
        void doBack();
    }

    public void setOnBackPressedListener(OnBackPressedListener onBackPressedListener) {
        this.onBackPressedListener = onBackPressedListener;
    }

    @Override
    public void onBackPressed() {
        if (onBackPressedListener != null)
            onBackPressedListener.doBack();
        else
            super.onBackPressed();
    } 

    @Override
    protected void onDestroy() {
        onBackPressedListener = null;
        super.onDestroy();
    }
}

39 의 해당 부분은 다음, 추가 잊지 않습니다 mainactivity& 구현하십시오 인터페이스입니다.

public class MyFragment extends Framgent implements MyActivity.OnBackPressedListener {
    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
         ((MyActivity) getActivity()).setOnBackPressedListener(this);
    }

@Override
public void doBack() {
    //BackPressed in activity will call this;
}

}
해설 (0)
@Override
public void onResume() {
    super.onResume();

    getView().setFocusableInTouchMode(true);
    getView().requestFocus();
    getView().setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
                // handle back button
                replaceFragmentToBackStack(getActivity(), WelcomeFragment.newInstance(bundle), tags);

                return true;
            }

            return false;
        }
    });
}
해설 (1)

매우 짧은 달콤하고 대답:

getActivity().onBackPressed();

내 경우 전체 책정안 설명.

나는 내 프라그멘타 마리나스티비티, 나는 프레이크망브 프라그멘타 (프레이크망브 는 하위 또는 네스트된 프라그멘타 조각) 에서 여는

 Fragment duedateFrag = new FragmentB();
 FragmentTransaction ft  = getFragmentManager().beginTransaction();
 ft.replace(R.id.container_body, duedateFrag);
 ft.addToBackStack(null);
 ft.commit();

이제 스케쳐내 프라그멘타 갈 수 있습니다 (), 간단히 말해 '에서' () 에서 프레이크망브 그레이스티비티 리옹박프레스트 프레이크망브.

해설 (4)
  • 그냥 다음 steps:*

항상 추가에는 조각, 동시에

fragmentTransaction.add(R.id.fragment_container, detail_fragment, "Fragment_tag").addToBackStack(null).commit();

다음 주 () '에서' 옹박프레스트 오버라이드합니다 활동,

if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
    getSupportFragmentManager().popBackStack();
} else {
    finish();
}

뒤로를 버튼를 처리할 수 있는 애플리케이션 (앱) 을

Fragment f = getActivity().getSupportFragmentManager().findFragmentByTag("Fragment_tag");
if (f instanceof FragmentName) {
    if (f != null) 
        getActivity().getSupportFragmentManager().beginTransaction().remove(f).commit()               
}

39 의 that& it!

해설 (0)