2017-04-21 68 views
1

我是這裏的新成員。 我已經在我的問題上進行了兩次搜索,但是我還沒有找到任何東西。 所以我邀請你來尋求幫助。在我的mainActivity的片段中顯示ViewPager

我有抽屜式導航這是一類我想提出的是,當我滑向左或向右,我的日曆會出現一個不同的日期片段。 所以我開發了一個ViewPager片段。這個片段是我的導航抽屜的一個片段。 我的問題:查看頁面不顯示。

它要麼是顯示要麼是一個空白片段的頁面查看器。 它是代碼誰改變顯示的行:

mContext.setContentView(ViewPager); 

screen without this code screen with this code 「89」的數量是誰是1上划動遞增的隨機數。

的型動物部分代碼: 在主胡亞蓉展現片段:

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

testSlideFragment(Java和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> 

如何顯示在我的主要活動這個網頁瀏覽器? 感謝您閱讀我

回答

0

裏面你TestSlideFragment替換下面的代碼,你寫內部onActivityCreated

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

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

,並嘗試再次運行應用程序。

+0

非常感謝片段內的viewpager,我想我的錯誤這是我與另一個活動前tryed,我剛纔複製/粘貼在一個片段我的代碼。 – Oytoch

0

爲什麼要在setcontentview方法中添加viewpager?這爲整個活動樹立了觀點。

找到像

vp = (ViewPager) view.findViewById(R.id.viewpager).