비디오: 천상계 해커는 어떻게 해킹을 배웠을까? - 세계 최초 데프콘 5회 우승 해커 인터뷰 2024
안드로이드의 인스턴스. 앱. FragmentManager 클래스는 앱의 조각을 처리합니다. 예를 들어 아래 코드에서 관리자의 replace 메서드는 사용자 화면에 표시된 조각을 변경합니다. 또한 관리자는 활동의 백 스택을 조작하는 데 도움을줍니다.
package com. allmycode. 파편; 안드로이드 가져 오기. 앱. FragmentManager; 안드로이드 가져 오기. 앱. FragmentTransaction; 안드로이드 가져 오기. 앱. ListFragment; 안드로이드 가져 오기. OS. 묶음; 안드로이드 가져 오기. 전망. 전망; 안드로이드 가져 오기. 위젯. ArrayAdapter; 안드로이드 가져 오기. 위젯. 목록보기; 공용 클래스 ComponentNamesFragment는 ListFragment를 확장합니다. {final static String [] COMPONENTS = { "Activity", "Service", "BroadcastReceiver", "ContentProvider"}; @Override public void onActivityCreated (번들 savedInstanceState) {super. onActivityCreated (savedInstanceState); @Override public void onListItemClick (ListView l, View v, int index, long id) {// 인덱스가있는 조각 만들기 DocsFragment docsFragment = 새로운 DocsFragment (); 번들 args = 도우미. getBundleWithIndex (index); docsFragment. setArguments (args); // 백 스택을 지 웁니다. FragmentManager fragmentManager = getFragmentManager (); int backStackEntryCount = fragmentManager입니다. getBackStackEntryCount (); for (int i = 0; i활동은 연속적인 startActivity 호출로 서로 중첩됩니다. 사용자가 뒤로를 누르면 Android가 활동을 스택에서 팝합니다. 가장 최근에 추가 된 활동이 가장 먼저 나타납니다. 보스 인 안드로이드가 활동 연합 회원들과 합의한 것처럼 보입니다. Android는 연공 서열의 역순으로 활동을 시작합니다.
Android 3. 0에 조각이 도입되면 활동에 자체적 인 개인 스택이있을 수 있습니다. 프래그먼트 A를 표시 한 다음 fragmentTransaction을 호출 할 수 있습니다. 대체 및 조각 트랜잭션. addToBackStack. 메소드 호출의 조합은 프래그먼트 B가 프래그먼트 A를 덮어 쓰게합니다. 사용자가 뒤로를 누르면 프래그먼트 B가 사라지고 프래그먼트 A는 해당 활동 화면의 해당 위치로 돌아갑니다.안드로이드는 활동에 투쟁 할 수있는 조각이 없을 때까지 전체 활동을 파괴하지 않습니다.
위의 코드의 백 스택 지우기 부분에서 프래그먼트 관리자는 액티비티의 프래그먼트 스택을 빠르게 정리합니다. addToBackStack을 호출하면 백 스택에 넣을 항목의 이름을 제공 할 수 있습니다. addToBackStack 호출의 인수로서 null를 지정하면 (자), 엔트리의 이름은 무효가됩니다. 나중에 코드에서 문자열을 제공하면 FragmentManager를 호출하여 항목을 검색 할 수 있습니다. findFragmentByTag.