반응형
Android-뒤로 버튼 시뮬레이션
앱에서 버튼을 누르면 마지막 활동으로 돌아 가야합니다.
어떤 아이디어?
finish()
종료하려는 활동에서 호출 하면이를 처리해야합니다.
수년 후 편집 : 이것은 여전히 작동하지만 약간 무거운 접근 방식입니다. 내가 처음에 이것을 게시했을 때 Fragments
존재하지 않았고 (여러 주석가가 지적했듯이) 이것은 Fragments
관련 이있을 때 완전히 동일한 방식으로 작동하지 않습니다 . 이제 더 나은 접근 방식이 있습니다.Fragments.
기록 용 : 설명 된 메서드는 경우에 따라 뒤로 버튼과 동일하지 않지만 다음을 호출 할 수 있습니다.
this.onBackPressed();
또는
getActivity().onBackPressed();
당신이 exaclty를 달성하기 위해 조각에 있다면 동일한 행동.
조각을 사용할 때 :
getFragmentManager().popBackStack();
또는
getSupportFragmentManager().popBackStack();
android.support.v4.app 패키지를 사용하는 경우
이는 동일한 프래그먼트가 때때로 활동의 유일한 프래그먼트 일 수 있고 때로는 두 개의 프래그먼트가 동시에 표시되는 태블릿과 같이 다중 프래그먼트 활동의 일부일 수있는 상황을위한 것입니다.
/**
* Method that can be used by a fragment that has been started by MainFragment to terminate
* itself. There is some controversy as to whether a fragment should remove itself from the back
* stack, or if that is a violation of the Android design specs for fragments. See here:
* http://stackoverflow.com/questions/5901298/how-to-get-a-fragment-to-remove-itself-i-e-its-equivalent-of-finish
*/
public static void fragmentImplementCancel(Fragment fragment) {
FragmentActivity fragmentActivity = fragment.getActivity();
FragmentManager fragmentManager = fragmentActivity.getSupportFragmentManager();
if (fragmentManager.getBackStackEntryCount() == 1) {
fragmentManager.popBackStack();
}
else {
fragmentActivity.finish();
}
}
예를 들어이 코드를 호출하여 취소 버튼을 구현할 수 있습니다.
if (theButton.getId() == R.id.btnStatusCancel) {
StaticMethods.fragmentImplementCancel(this);
}
뒤로 버튼을 누를 때 위로 버튼 통화를 스푸핑 할 수 있습니다.
@Override
public void onBackPressed() {
onNavigateUp();
}
참고 URL : https://stackoverflow.com/questions/2717954/android-simulate-back-button
반응형
'UFO ET IT' 카테고리의 다른 글
"gcc -s"와 "strip"명령의 차이점은 무엇입니까? (0) | 2020.11.14 |
---|---|
Laravel : Auth :: user ()-> id가 객체가 아닌 속성을 가져 오려고합니다. (0) | 2020.11.12 |
하다 (0) | 2020.11.12 |
페이지 수를 계산하는 가장 간단한 공식은? (0) | 2020.11.12 |
기본 브라우저에서 OSX Swift 열기 URL (0) | 2020.11.12 |