2017-04-21 13 views
1

私はここで新しいメンバーです。 私は既に問題で2日間何回か検索しましたが、何も見つかりませんでした。 だから私はあなたに助けを求めるようお願いします。私のmainActivityの断片にViewPagerを表示

私はナビゲーション・ドロワーを持っていますこれはカテゴリです私が左または右に滑ると、私のカレンダーは異なる日付で表示される断片を入れたいと思います。 私はフラグメント内にViewPagerを開発しました。このフラグメントは、ナビゲーション・ドロワのフラグメントです。 私の問題:ViewPageは表示されません。

空白の部分が表示されているページビューアです。 なお、表示を変更するコード行されます。

mContext.setContentView(ViewPager); 

screen without this code screen with this code 番号「89」スワイプに1ずつインクリメントされる乱数です。

貴様部コード:断片を表示するメインacitivityで :

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> 

どのように私は私のメインの活動でこのページビューアを表示していますか?あなたのTestSlideFragmentあなたが

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

onActivityCreated

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

内に記述したコードの下に交換して、再度アプリケーションを実行しようとする内部くれ

答えて

0

を読み取るための 感謝。

+0

おかげでたくさんのような断片内にごviewpagerを見つけ、私は私のエラーがそれは私が別のアクティビティを前にしようと試みていることだったと私は/フラグメントで私のコードを貼り付けだけでコピーしてきたと思います。 – Oytoch

0

なぜviewcontentをsetcontentviewメソッドに追加していますか?これは、アクティビティ全体のビューページを設定します。

vp = (ViewPager) view.findViewById(R.id.viewpager). 
関連する問題