2017-04-21 1 views
1

나는 새 회원입니다. 나는 이미 내 문제에 대해 2 일 동안 여러 번 검색했지만 아무 것도 찾지 못했습니다. 그래서 저는 여러분에게 도움을 청합니다.Display ViewPager 내 mainActivity의 일부로

내비게이션 서랍이 있습니다. 카테고리입니다. 왼쪽 또는 오른쪽으로 밀면 내 캘린더가 다른 날짜와 함께 나타나는 조각을 넣고 싶습니다. 그래서 나는 조각에서 ViewPager를 개발했습니다. 이 단편은 내 탐색 창에 대한 단편입니다. 내 문제 : ViewPage가 나타나지 않습니다.

공백으로 표시되는 페이지 뷰어입니다.

mContext.setContentView(ViewPager); 

screen without this code screen with this code 숫자 "89"은 와이프에 1 씩 증가 된 난수이다 그것은 디스플레이를 변경 코드의 라인이다.

differents의 부품 번호 : 메인 acitivity의 프래그먼트 표시하려면

TestSlideFragment fragment = new TestSlideFragment(); 
fragmentTransaction.replace(R.id.RelativeLayout_for_Fragment, fragment, fragment.getTag()); 
fragmentTransaction.commit(); 

testSlideFragment (자바 및 XML)를

public class TestSlideFragment extends Fragment { 
    View view = null; 
    private static final int NUM_PAGES = 5; 
    int nbr = 0 ; 

    /** 
    * The pager widget, which handles animation and allows swiping horizontally to access previous 
    * and next wizard steps. 
    */ 
    private ViewPager mPager; 

    ViewPager ViewPager; 
    FragmentStatePagerAdapter mAdapt; 
    //private TabsAdapter d; 

    /** 
    * The pager adapter, which provides the pages to the view pager widget. 
    */ 
    private PagerAdapter mPagerAdapter; 


    public TestSlideFragment() { 
     // Required empty public constructor 
    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 



     view = inflater.inflate(R.layout.fragment_test_slide, container, false); 
     return view; 
    } 

    /** 
    * The number of pages (wizard steps) to show in this demo. 
    */ 

    @Override 
    public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
     Activity mActivity = getActivity(); 
     FragmentActivity mContext; 
     mContext=(FragmentActivity) mActivity; 

     ViewPager = new ViewPager(mContext); 
     ViewPager.setId(R.id.slide); 
     mContext.setContentView(ViewPager); 

     mPagerAdapter = new ScreenSlidePagerAdapter(mContext.getSupportFragmentManager()); 
     ViewPager.setAdapter(mPagerAdapter); 
     ViewPager.setCurrentItem(1); 

    } 



    /** 
    * A simple pager adapter that represents 5 ScreenSlidePageFragment objects, in 
    * sequence. 
    */ 
    private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { 
     public ScreenSlidePagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      return new ScreenSlidePageFragment(); 
     } 

     @Override 
     public int getCount() { 
      return NUM_PAGES; 
     } 
    } 


} 

XML :

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:tag="fragment_test_slide" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="oytoch.iut_info.test.TestSlideFragment"> 

    <!-- TODO: Update blank fragment layout --> 
    <android.support.v4.view.ViewPager 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/page" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</FrameLayout> 

ScreenSlidePageFragment

public class ScreenSlidePageFragment extends Fragment { 
ViewGroup rootView = null; 
SharedPreferences sharedpreferences; 
public static final String MyPREFERENCES = "MyPrefs" ; 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
     rootView = (ViewGroup) inflater.inflate(
      R.layout.fragment_screen_slide_page,container,false); 


    return rootView; 
} 
public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    Activity mActivity = getActivity(); 
    Context mContext = getActivity(); 

    TextView slide_txt = (TextView) rootView.findViewById(R.id.slide); 

    SharedPreferences prefs = mContext.getSharedPreferences(MyPREFERENCES , MODE_PRIVATE); 
    int restoredText = prefs.getInt("nbr", 0); 

    slide_txt.setText(Integer.toString(restoredText)); 

    sharedpreferences = mContext.getSharedPreferences(MyPREFERENCES, MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedpreferences.edit(); 
    editor.putInt("nbr", 1+ restoredText); 
    editor.commit(); 
} 

}

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent"> 


    <ScrollView 
     android:id="@+id/content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <TextView`enter code here` 
      android:padding="16dp" 
      android:id="@+id/slide" 
      android:lineSpacingMultiplier="1.2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="lorem_ipsum" /> 
    </ScrollView> 
</FrameLayout> 

어떻게 내 주요 활동이 페이지 뷰어를 표시합니까? 나에게 당신이

ViewPager = (ViewPager)getView().findViewById(R.id.page); 

onActivityCreated

ViewPager = new ViewPager(mContext); 
    ViewPager.setId(R.id.slide); 
    mContext.setContentView(ViewPager); 

내부에 기록 된 그리고 다시 응용 프로그램을 실행하려고 한 당신의 TestSlideFragment 코드 아래에 대체 내부

답변

0

를 읽기위한 감사합니다.

+0

덕분에 많은처럼 조각 내에서 viewpager 찾기, 난 내 오류가 그것은 내가 다른 활동을하기 전에 tryed 있다고 생각 나는 조각에 내 코드를 복사/붙여 넣기 만했다. – Oytoch

0

왜 뷰 페이지를 setcontentview 메소드에 추가하고 있습니까? 그러면 전체 활동에 대한 뷰 페이지가 설정됩니다.

vp = (ViewPager) view.findViewById(R.id.viewpager). 
관련 문제