私はViewPager
を使用して左にスワイプするフラグメントを作成し、各フラグメントページにフラグメントを挿入します。ANDROID:instantiateItemメソッド内の異なるフラグメントを持つViewPager
activityMain.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
...
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/myviewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<devlight.io.library.ntb.NavigationTabBar
android:id="@+id/ntb_horizontal"
app:ntb_swiped="true"/>
</android.support.design.widget.CoordinatorLayout>
と、この: tab0_fragment.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:textSize="30sp" android:gravity="center" android:id="@+id/textView" android:layout_centerHorizontal="true" android:textColor="@android:color/holo_green_dark" android:text="Social\nFragment"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="web" android:textSize="15sp" android:layout_marginTop="10dp" android:layout_centerHorizontal="true" android:text="androidbelieve.com" android:textColor="#000" android:layout_below="@+id/textView" android:textStyle="italic"/> </RelativeLayout>
私は
ViewPager
mainActivity.java
に を持っていますfinal ViewPager viewPager = (ViewPager) findViewById(R.id.myviewpager);
viewPager.setAdapter(new PagerAdapter() {
...
...
}
フラグメントレイアウトを使用して、ビューページで1つの画面を開きます。
私はこれ試してみてください。私はアンドロイドでのnoob午前
public class tab0Fragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_tab0,null);
}
}
tab0Fragment.java
final ViewPager viewPager = (ViewPager) findViewById(R.id.myviewpager);
viewPager.setAdapter(new PagerAdapter() {
...
public Object instantiateItem(final ViewGroup container, final int position) {
if (position == 0)
{
final View view = LayoutInflater.from(getBaseContext()).inflate(R.layout.fragment_tab0, null, false);
FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.myviewpager,new tab0Fragment()).commit();
container.addView(view);
return view;
}
else if (position == 1)
...
}
...
}
とを。どのようにこのコードを修正できますか?
ソリューション: の答えは私の答えではなかったが、それは私をたくさん助けて。
による。ウサギans @ Upadayay私はこれにトップコードを変更する:
@Override
public Object instantiateItem(final ViewGroup container, final int position) {
if (position == 0)
{
final View view = LayoutInflater.from(getBaseContext()).inflate(R.layout.fragment_tab0, null, false);
MyAdapter adapter = new MyAdapter(getSupportFragmentManager());
adapter.addFragment(new tab0Fragment(), getResources().getString(R.string.tab0));
container.addView(view);
return view;
}
else if (position == 1)
{
また、@Mrに従ってMyAdapterクラスを追加する。ウサギの答え。
希望の助けを求める人。
https://developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html –