বিভিন্ন খণ্ড / লেআউট সহ একটি ভিউপাগার কীভাবে কার্যকর করা যায়


191

আমি যখন এমন কোনও ক্রিয়াকলাপ শুরু করি যা ভিউপেজার প্রয়োগ করে, ভিউপ্যাজারটি বিভিন্ন টুকরো তৈরি করে। আমি প্রতিটি খণ্ডের জন্য বিভিন্ন লেআউট ব্যবহার করতে চাই, তবে সমস্যাটি হ'ল ভিউগারটি সর্বোচ্চে মাত্র দুটি লেআউট দেখায় (1 এর পরে অবশিষ্ট টুকরোগুলির উপর দ্বিতীয় লেআউট)।

সোয়াইপঅ্যাক্টিভিটির কোড এখানে যা ভিউপ্যাজারকে কার্যকর করে:

public class SwipeActivity extends FragmentActivity
{

    MyPageAdapter pageAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_swipe);
        pageAdapter = new MyPageAdapter(getSupportFragmentManager());
        ViewPager pager=(ViewPager)findViewById(R.id.pager);
        pager.setAdapter(pageAdapter);
        ActionBar bar = getActionBar();
        bar.setDisplayHomeAsUpEnabled(true);
    }
    /**
    * Custom Page adapter
    */
    private class MyPageAdapter extends FragmentPagerAdapter
    {
        public MyPageAdapter(FragmentManager fm)
        {
            super(fm);
        }
        @Override
        public int getCount()
        {
            return 5;
        }
        @Override
        public Fragment getItem(int position)
        {
            switch(position)
            {
                case 0: return new MyFragment();
                case 1: return SecondFragment.newInstance("asdasd");
                default : return RamFragment.newInstance("s");
            }
        }
     }
}

এখানে টুকরো টুকরো জন্য কোড

public class MyFragment extends Fragment
{
   @Override
   public View onCreateView(LayoutInflater paramLayoutInflater, ViewGroup paramViewGroup,    Bundle paramBundle)
   {
     return paramLayoutInflater.inflate(R.layout.processorlayout, paramViewGroup, false);
   }
}

আমি এই জাতীয় 5 টি টুকরোগুলি ব্যবহার করেছি, সকলের আলাদা আলাদা লেআউট রয়েছে, তবে ভিউজারটি সর্বোচ্চ 2 টি দেখায়।

সম্পাদনা : সেকেন্ডফ্র্যাগমেন্টের জন্য কোড

public class SecondFragment extends Fragment
{
   public static final String EXTRA_MESSAGE = "EXTRA_MESSAGE";

  public static final SecondFragment newInstance(String paramString)
  {
    SecondFragment f = new SecondFragment();
    Bundle localBundle = new Bundle(1);
    localBundle.putString("EXTRA_MESSAGE", paramString);
    f.setArguments(localBundle);
    return f;
  }

  @Override
  public View onCreateView(LayoutInflater paramLayoutInflater, ViewGroup paramViewGroup, Bundle paramBundle)
  {
     return paramLayoutInflater.inflate(R.layout.motherboardlayout, paramViewGroup, false);
  }
}

আমি এক প্রকারের অমিল ত্রুটি পাচ্ছি। আপনি কি আমার পোস্টটি একবার দেখে নিতে পারেন? stackoverflow.com/questions/28334800/...
Schardt12


আপনার কোড ইস্যু তাই কি?
ব্যবহারকারী 1510006

হাই আপনি সম্পূর্ণ পোস্ট সরবরাহ সহ খুব সহজ উত্তর এই পোস্টে পড়তে পারেন ।
নির্মল ধারা

উত্তর:


517

এটি যেহেতু খুব ঘন ঘন জিজ্ঞাসিত প্রশ্ন, তাই আমি ভিউপ্যাজারকে একাধিক টুকরো এবং লেআউটগুলি বিশদভাবে ব্যাখ্যা করার জন্য সময় এবং প্রচেষ্টা করতে চাই। আপনি এখানে যান।

একাধিক টুকরো এবং লেআউট ফাইলের সাথে ভিউপেজার - কীভাবে

নীচে পৃথক খণ্ডের প্রকার এবং বিভিন্ন বিন্যাসের ফাইলগুলির সাথে একটি ভিউপাগার কীভাবে প্রয়োগ করা যায় তার সম্পূর্ণ উদাহরণ is

এই ক্ষেত্রে, আমার কাছে 3 টি টুকরো ক্লাস এবং প্রতিটি ক্লাসের জন্য আলাদা লেআউট ফাইল রয়েছে। জিনিসগুলি সহজ রাখার জন্য, খণ্ড-লেআউটগুলি কেবল তাদের পটভূমির রঙে পৃথক । অবশ্যই, খণ্ডগুলির জন্য যে কোনও লেআউট-ফাইল ব্যবহার করা যেতে পারে।

ফার্স্টফ্রেগমেন্ট.জভাতে কমলা ব্যাকগ্রাউন্ড লেআউট রয়েছে, সেকেন্ডফ্র্যাগমেন্ট.জভাতে সবুজ পটভূমি লেআউট এবং থার্ডফ্রেগমেন্ট.জভাতে একটি লাল রঙ রয়েছে ব্যাকগ্রাউন্ড লেআউট রয়েছে। তদ্ব্যতীত, প্রতিটি খণ্ডটি এটি কোন শ্রেণীর এবং কোন উদাহরণ থেকে তা নির্ভর করে আলাদা পাঠ্য প্রদর্শন করে।

এছাড়াও সচেতন থাকুন যে আমি সমর্থন-লাইব্রেরির টুকরোটি ব্যবহার করছি: android.support.v4.app.Fraਮੈਂਟ

MainActivity.java (Viewpager সূচনা এবং ভিতরের শ্রেণী হিসেবে তার জন্য এডাপটার আছে)। আবার আমদানি দেখুন । আমি android.support.v4প্যাকেজটি ব্যবহার করছি ।

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);     

        ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
        pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
    }

    private class MyPagerAdapter extends FragmentPagerAdapter {

        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int pos) {
            switch(pos) {

            case 0: return FirstFragment.newInstance("FirstFragment, Instance 1");
            case 1: return SecondFragment.newInstance("SecondFragment, Instance 1");
            case 2: return ThirdFragment.newInstance("ThirdFragment, Instance 1");
            case 3: return ThirdFragment.newInstance("ThirdFragment, Instance 2");
            case 4: return ThirdFragment.newInstance("ThirdFragment, Instance 3");
            default: return ThirdFragment.newInstance("ThirdFragment, Default");
            }
        }

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

কার্যকলাপ_মাইন.এক্সএমএল (মেইনএ্যাকটিভিটিজ। এক্সএমএল ফাইল) - একটি সাধারণ লেআউট ফাইল, কেবলমাত্র ভিউপ্যাজার ধারণ করে যা পুরো স্ক্রীনটি পূরণ করে।

<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/viewPager"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

টুকরো টুকরো ক্লাস, ফার্স্টফ্র্যাগমেন্ট.জভা আমদানি android.support.v4.app.Fragment;

public class FirstFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.first_frag, container, false);

        TextView tv = (TextView) v.findViewById(R.id.tvFragFirst);
        tv.setText(getArguments().getString("msg"));

        return v;
    }

    public static FirstFragment newInstance(String text) {

        FirstFragment f = new FirstFragment();
        Bundle b = new Bundle();
        b.putString("msg", text);

        f.setArguments(b);

        return f;
    }
}

first_frag.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_orange_dark" >

    <TextView
        android:id="@+id/tvFragFirst"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:textSize="26dp"
        android:text="TextView" />
</RelativeLayout>

SecondFragment.java

public class SecondFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.second_frag, container, false);

    TextView tv = (TextView) v.findViewById(R.id.tvFragSecond);
    tv.setText(getArguments().getString("msg"));

    return v;
}

public static SecondFragment newInstance(String text) {

    SecondFragment f = new SecondFragment();
    Bundle b = new Bundle();
    b.putString("msg", text);

    f.setArguments(b);

    return f;
}
}

second_frag.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_green_dark" >

    <TextView
        android:id="@+id/tvFragSecond"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:textSize="26dp"
        android:text="TextView" />

</RelativeLayout>

ThirdFragment.java

public class ThirdFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.third_frag, container, false);

    TextView tv = (TextView) v.findViewById(R.id.tvFragThird);      
    tv.setText(getArguments().getString("msg"));

    return v;
}

public static ThirdFragment newInstance(String text) {

    ThirdFragment f = new ThirdFragment();
    Bundle b = new Bundle();
    b.putString("msg", text);

    f.setArguments(b);

    return f;
}
}

third_frag.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_red_light" >

    <TextView
        android:id="@+id/tvFragThird"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:textSize="26dp"
        android:text="TextView" />

</RelativeLayout>

শেষ ফলাফলটি নিম্নলিখিত:

ভিউপেজারে 5 টি টুকরো রয়েছে, খণ্ডগুলি 1 টাইপ ফার্স্টফ্র্যাগমেন্টের, এবং প্রথম_ফ্রেগ.এক্সএমএল লেআউট প্রদর্শন করে, খণ্ড 2 দ্বিতীয় প্রকারের ফ্রেঞ্চ এবং দ্বিতীয়_ফ্রেগ.এক্সএমএল প্রদর্শন করে, এবং খণ্ড 3-5 প্রকারের তৃতীয় ফ্রেম্যাগমেন্ট এবং সমস্ত তৃতীয়_ফ্র্যাগ.এক্সএমএল প্রদর্শন করে ।

এখানে চিত্র বর্ণনা লিখুন

উপরে আপনি 5 টি টুকরোটি দেখতে পাচ্ছেন যার মধ্যে বাম বা ডানদিকে সোয়াইপের মাধ্যমে পরিবর্তন করা যেতে পারে। অবশ্যই একই সময়ে কেবলমাত্র একটি টুকরা প্রদর্শিত হতে পারে।

সর্বশেষ তবে কম নয়:

আমি আপনাকে সুপারিশ করব যে আপনি আপনার প্রতিটি ফ্রেগমেন্ট ক্লাসে একটি খালি কনস্ট্রাক্টর ব্যবহার করুন ।

কনস্ট্রাক্টরের মাধ্যমে সম্ভাব্য পরামিতিগুলি হস্তান্তর করার পরিবর্তে এটি ব্যবহার করুন newInstance(...)Bundle হস্তান্তর করার জন্য পদ্ধতি এবং ।

এইভাবে যদি বিচ্ছিন্ন এবং পুনরায় সংযুক্ত করা হয় তবে বস্তুর স্থিতিটি আর্গুমেন্টের মাধ্যমে সংরক্ষণ করা যেতে পারে। অনেকটা Bundlesসংযুক্তির মতো Intents


7
@ ফিলিপজাহোদা দুর্দান্ত উত্তর, ধন্যবাদ। আমি একটা কথা যদিও, যদি ViewPager চেয়ে একটি টুকরা সংজ্ঞায়িত করা হয় উল্লেখ করতে চাই getSupportChildFragmentManager () getSupportFragmentManager পরিবর্তে ব্যবহার করা উচিত () যখন এডাপটার তৈরি করা। নইলে ওরিয়েন্টেশন পরিবর্তনের সময় কোডটি বিভক্ত হয়।
gc

5
হ্যা ঐটা সঠিক. তবে আমার উদাহরণে ভিউপেজারটিকে একটি ক্রিয়াকলাপে সংজ্ঞায়িত করা হয় এবং অতএব getSupportFraamentManager () উপযুক্ত। তবুও পদ্ধতিটি সাপপোর্টচিল্ডফ্রেগমেন্টম্যানেজার () এর অস্তিত্ব নেই, আমি ধরে নিই যে আপনি getChildFraamentManager () এর উল্লেখ করছেন।
ফিলিপ জাহোদা

1
ভি 13 সাপোর্ট প্যাকেজটি ব্যবহার করার সময় আপনি দেশীয় টুকরো সহ ভিউপাগারটি ব্যবহার করতে পারেন। বিকাশকারী.অ্যান্ড্রয়েড.
com/references/android/support/v13/app/…

1
অ্যান্ড্রয়েড ললিপপ 5.0 হিসাবে, এটি কি এখনও বৈধ?
অর্কুন ওজেন

5
আপনার মাইপেজারএডাপ্টার -> getItem (ইন পোস্ট) পদ্ধতিতে আপনি সর্বদা লক্ষ্য খণ্ডের একটি নতুন উদাহরণ পাবেন (পজ মানের উপর ভিত্তি করে)। সুতরাং প্রতিবার আপনার ডিভাইসটি ঘোরানোর সময় (ওরিয়েন্টেশন পরিবর্তন) গেট আইটেম পদ্ধতিটি চাওয়া হয় এবং টুকরোগুলি বারবার তৈরি হয়। তবে তারা তৈরি হওয়ার পরে খণ্ড ম্যানেজারে জমা হয়ে যায়। আমি মনে করি আপনার এটি পরীক্ষা করা উচিত যদি তারা ইতিমধ্যে খন্ড পরিচালক হিসাবে রয়েছে তবে আপনি যদি মেমরি নষ্ট না করেন। দেখুন pastebin.com/0bJc9mHA
rekt0x

8

দর্শনগুলির একটি অ্যারে তৈরি করুন এবং এতে প্রয়োগ করুন: container.addView(viewarr[position]);

public class Layoutes extends PagerAdapter {

    private Context context;
    private LayoutInflater layoutInflater;
    Layoutes(Context context){
        this.context=context;
    }
    int layoutes[]={R.layout.one,R.layout.two,R.layout.three};
    @Override
    public int getCount() {
        return layoutes.length;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return (view==(LinearLayout)object);
    }
    @Override
    public Object instantiateItem(ViewGroup container, int position){
        layoutInflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View one=layoutInflater.inflate(R.layout.one,container,false);
        View two=layoutInflater.inflate(R.layout.two,container,false);
        View three=layoutInflater.inflate(R.layout.three,container,false);
        View viewarr[]={one,two,three};
        container.addView(viewarr[position]);
        return viewarr[position];
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object object){
        container.removeView((LinearLayout) object);
    }

}

ভিউয়ের অ্যারে তৈরি করে আমরা ভিউপাগারে লেআউটগুলি স্ফীত করতে পারি।
আকাশ

6

টুকরা যোগ করার জন্য কোড

public Fragment getItem(int position) {

    switch (position){
        case 0:
            return new Fragment1();

        case 1:
            return new Fragment2();

        case 2:
            return new Fragment3();

        case 3:
            return new Fragment4();

        default:
            break;
    }

    return null;
}

প্রতিটি খণ্ডের জন্য একটি এক্সএমএল ফাইল তৈরি করুন ফ্রেগমেন্ট 1 এর জন্য বলুন, ফ্রেগমেন্ট_আর.এক্সএমএলটিকে লেআউট ফাইল হিসাবে ব্যবহার করুন, ফ্রেগমেন্ট 1 জাভা ফাইলে নীচের কোডটি ব্যবহার করুন।

public class Fragment1 extends Fragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_one, container, false);

        return view;

    }
}

পরে আপনি প্রয়োজনীয় সংশোধন করতে পারেন .. এটি আমার পক্ষে কাজ করেছে।


4

বেসিক ভিউপেজার উদাহরণ

এই উত্তরটি ডকুমেন্টেশনের সরলকরণ , এই টিউটোরিয়াল , এবং গৃহীত উত্তর । এর উদ্দেশ্য হ'ল ViewPagerযত তাড়াতাড়ি সম্ভব একটি কাজ করা এবং চালানো। এর পরে আরও সম্পাদনা করা যেতে পারে।

এখানে চিত্র বর্ণনা লিখুন

এক্সএমএল

মূল ক্রিয়াকলাপের জন্য এবং প্রতিটি পৃষ্ঠার (টুকরা) জন্য এক্সএমএল লেআউট যুক্ত করুন। আমাদের ক্ষেত্রে আমরা কেবল একটি খণ্ড লেআউট ব্যবহার করছি, তবে বিভিন্ন পৃষ্ঠায় আপনার যদি আলাদা লেআউট থাকে তবে কেবল তাদের প্রত্যেকটির জন্য একটি করে করুন।

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.verticalviewpager.MainActivity">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

fragment_one.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textview"
        android:textSize="30sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />

</RelativeLayout>

কোড

এটি মূল ক্রিয়াকলাপের কোড। এটি অভ্যন্তরীণ ক্লাস হিসাবে PagerAdapterএবং অন্তর্ভুক্ত FragmentOne। এগুলি যদি খুব বড় হয়ে যায় বা আপনি এগুলিকে অন্য জায়গায় পুনরায় ব্যবহার করছেন, তবে আপনি তাদের তাদের নিজস্ব শ্রেণিতে স্থানান্তর করতে পারেন।

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;

public class MainActivity extends AppCompatActivity {

    static final int NUMBER_OF_PAGES = 2;

    MyAdapter mAdapter;
    ViewPager mPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mAdapter = new MyAdapter(getSupportFragmentManager());
        mPager = findViewById(R.id.viewpager);
        mPager.setAdapter(mAdapter);
    }

    public static class MyAdapter extends FragmentPagerAdapter {
        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

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

        @Override
        public Fragment getItem(int position) {

            switch (position) {
                case 0:
                    return FragmentOne.newInstance(0, Color.WHITE);
                case 1:
                    // return a different Fragment class here
                    // if you want want a completely different layout
                    return FragmentOne.newInstance(1, Color.CYAN);
                default:
                    return null;
            }
        }
    }

    public static class FragmentOne extends Fragment {

        private static final String MY_NUM_KEY = "num";
        private static final String MY_COLOR_KEY = "color";

        private int mNum;
        private int mColor;

        // You can modify the parameters to pass in whatever you want
        static FragmentOne newInstance(int num, int color) {
            FragmentOne f = new FragmentOne();
            Bundle args = new Bundle();
            args.putInt(MY_NUM_KEY, num);
            args.putInt(MY_COLOR_KEY, color);
            f.setArguments(args);
            return f;
        }

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            mNum = getArguments() != null ? getArguments().getInt(MY_NUM_KEY) : 0;
            mColor = getArguments() != null ? getArguments().getInt(MY_COLOR_KEY) : Color.BLACK;
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View v = inflater.inflate(R.layout.fragment_one, container, false);
            v.setBackgroundColor(mColor);
            TextView textView = v.findViewById(R.id.textview);
            textView.setText("Page " + mNum);
            return v;
        }
    }
}

সমাপ্ত

আপনি যদি আপনার প্রকল্পে উপরের তিনটি ফাইল অনুলিপি করে আটকে দেন তবে অ্যাপটি চালাতে সক্ষম হতে হবে এবং উপরের অ্যানিমেশনের ফলাফলটি দেখতে পারা উচিত।

যাচ্ছে

ভিউপেজার্সের সাথে আপনি করতে পারেন এমন বেশ কয়েকটি জিনিস রয়েছে। শুরু করতে নিম্নলিখিত লিঙ্কগুলি দেখুন:


3

এটিও ঠিক আছে:

<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/viewPager"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />
public class MainActivity extends FragmentActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);

        ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
        pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));

    }
}


public class FragmentTab1 extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragmenttab1, container, false);
        return rootView;
    }
}

class MyPagerAdapter extends FragmentPagerAdapter{

    public MyPagerAdapter(FragmentManager fragmentManager){
        super(fragmentManager);

    }
    @Override
    public android.support.v4.app.Fragment getItem(int position) {
        switch(position){
            case 0:
                FragmentTab1 fm =   new FragmentTab1();
                return fm;
            case 1: return new FragmentTab2();
            case 2: return new FragmentTab3();
        }
        return null;
    }

    @Override
    public int getCount() {
        return 3;
    }
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/Fragment1" />

</RelativeLayout>

0

আপনার খণ্ডগুলিতে নতুন উদাহরণ তৈরি করুন এবং আপনার ক্রিয়াকলাপে এটি করুন

 private class SlidePagerAdapter extends FragmentStatePagerAdapter {
    public SlidePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch(position){
            case 0:
                return Fragment1.newInstance();
            case 1:
                return Fragment2.newInstance();
            case 2:
                return Fragment3.newInstance();
            case 3:
                return Fragment4.newInstance();


            default: break;

        }
        return null;
    }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.