2013-04-24 3 views
5

저는 Android 프로그래밍에 익숙하지 않습니다. 하나의 주된 조각 활동에서 뷰 페이지의 탭을 사용하는 앱을 만들려고합니다. 뷰 페이지와 탭은 정상적으로 작동하지만 항목을 선택하면 완전히 새로운 프래그먼트가 열리고 뷰 페이저를 제거 할 수없는 옵션 메뉴가 필요합니다. 나는 새로운 화면을 메인 화면의 뷰 페이지 위에 올려 놓을 수는 있지만, 조각 트랜잭션으로 작업하려고 시도해도 작동하지 않는 것 같아요.ViewPager를 통한 Android Open Fragment

아이디어가 있습니까?

당신의 시간

답변

2

글쎄, 당신은 추가 할 예정 주셔서 감사합니다 Fragment 내가 가정합니다 FrameLayout의 ID를 사용하여 FrameLayout 일부. Fragment을 추가 할 FrameLayoutViewPager 상단에 있는지 확인하십시오.

예를 들어

모두 ViewPagerFrameLayout는 다음 FrameLayoutXMLViewPager 아래에 선언되어 있는지 확인 RelativeLayout 컨테이너에있는 경우. 그러면 FragmeLayoutViewPager 위에 쌓입니다. FragmentFrameLayout에 추가되면 맨 위에 그려집니다.

2

을 확인하십시오

1) 조각 (예 :

<FrameLayout 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:id="@+id/container" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

     <LinearLayout.... and so on 
</FrameLayout> 

다음 viewpager에 의해 선택됩니다 ViewPagerFragment1)를, 아이디 "용기"예와 루트 레이아웃으로 FrameLayout이있다 2) ViewPagerFragment1 클래스 내에서 액션이 트리거 된 후 새 조각을 FrameLayout으로 바꾸거나 추가해야합니다. 예 :

@Override 
public void onClick(View view) { 
    switch (view.getId()) { 
     case R.id.selection: 
      // Create new fragment and transaction 
      NewFragment newFragment = new NewFragment(); 
      FragmentTransaction transaction = getFragmentManager().beginTransaction(); 

      transaction.replace(R.id.container, newFragment, "NewFragment"); 
      transaction.addToBackStack(null); 

      transaction.commit(); 
      break; 
     default: 
      break; 
    } 
}