Andriod Fragment - Activity 에 Fragment 를 추가 합 니 다.

2927 단어 Activity
일반적으로 Fragment 는 Activity 전체 보기 차원 트 리 의 일부분 으로 숙주 Activity 인터페이스의 일부분 에 삽 입 됩 니 다.Activity 레이아웃 에 Fragment 를 추가 할 수 있 는 두 가지 방법 이 있 습 니 다.
1. Activity 레이아웃 파일 내부 에 Fragment 를 설명 합 니 다.
Fragment 에 보기 처럼 레이아웃 속성 을 지정 할 수 있 습 니 다.다음 예 는 Activity 에 두 개의 Fragment 레이아웃 파일 을 지정 하 는 것 을 설명 합 니 다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <fragment android:name="com.example.news.ArticleListFragment"
            android:id="@+id/list"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent" />
    <fragment android:name="com.example.news.ArticleReaderFragment"
            android:id="@+id/viewer"
            android:layout_weight="2"
            android:layout_width="0dp"
            android:layout_height="match_parent" />
</LinearLayout>

< fragment > 요소 에 있 는 android: name 속성 은 레이아웃 에서 실례 화 할 Fragment 를 지정 합 니 다.
시스템 이 이 Activity 레이아웃 을 만 들 때 레이아웃 에 지정 한 모든 Fragment 를 예화 하고 각각 onCreateView () 를 호출 하여 모든 Fragment 의 레이아웃 을 가 져 옵 니 다.그리고 시스템 은 Activity 레이아웃 에 < fragment > 요 소 를 통 해 직접 돌아 오 는 보 기 를 삽입 합 니 다.
주: 모든 Fragment 는 Activity 가 재 부팅 될 때 시스템 에서 이 ID 를 사용 하여 Fragment 를 복원 할 수 있 는 유일한 표지 가 필요 합 니 다. (또한 이 ID 를 사용 하여 업 무 를 수행 하 는 Fragment 를 가 져 올 수 있 습 니 다. 예 를 들 어 삭제)Fragment 에 ID 를 제공 하 는 세 가지 방법 이 있 습 니 다.
A. android: id 속성 을 사용 하여 유일한 ID 를 설정 합 니 다.
B. android: tag 속성 을 사용 하여 유일한 문자열 을 설정 합 니 다.
C. 앞의 두 속성 을 설정 하지 않 으 면 시스템 은 용기 보기 의 ID 를 사용 합 니 다.
2. 프로 그래 밍 은 기 존 ViewGroup 에 Fragment 를 추가 합 니 다.
Activity 가 실 행 될 때 언제든지 Fragment 를 Activity 레이아웃 에 추가 할 수 있 습 니 다.Fragment 를 설치 할 ViewGroup 만 지정 하면 됩 니 다.Activity 에서 Fragment 트 랜 잭 션 을 사용 하려 면 Fragment Transaction 에서 온 API 를 사용 해 야 합 니 다.다음 예 를 들 어 Activity 에서 Fragment Transaction 인 스 턴 스 를 가 져 올 수 있 습 니 다.
FragmentManager fragmentManager = getFragmentManager()
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

그리고 Fragment 를 지정 한 보기에 추가 할 수 있 습 니 다. 예 를 들 어:
ExampleFragment fragment = new ExampleFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();

add () 방법 에 전달 하 는 첫 번 째 매개 변 수 는 Fragment 가 넣 어야 할 ViewGroup 입 니 다. 자원 ID 를 통 해 이 ViewGroup 을 지정 하고 두 번 째 매개 변 수 는 추가 할 Fragment 입 니 다.
Fragment Transaction 대상 이 바 뀌 면 commt 방법 으로 변 경 된 영향 을 제출 해 야 합 니 다.
주: 본인 전재 과 는 개인 적 으로 번역 이 잘 되 어 소장 할 만 한 가치 가 있 고 뒤 돌아 보 는 것 이 편리 하 다 고 생각 합 니 다.
관심 있 으 시 면 작가 의 공식 블 로 그 를 방문 하 세 요.

좋은 웹페이지 즐겨찾기