ট্যাবলোআউট ট্যাব নির্বাচন


উত্তর:


418

আপনি যে ট্যাবটি নির্বাচন করতে চান তার সূচিটি যদি জানেন তবে আপনি এটির মতো এটি করতে পারেন:

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
TabLayout.Tab tab = tabLayout.getTabAt(someIndex);
tab.select();

এই কৌশলটি যদি আপনি ভিউপ্যাজার ছাড়া নিজেই ট্যাব-লেআউটটি ব্যবহার করেন তবে এটি কার্যকর হয় (যা অ্যাটিকালিকাল এবং সম্ভবত খারাপ অভ্যাস, তবে আমি এটিটি দেখেছি)।


10
এই সমাধানটি কেবল তখনই কাজ করে যদি ট্যাবটি অ্যাকশন বারে যুক্ত করা হয়, যা সর্বদা ক্ষেত্রে নাও হতে পারে। এর জন্য ডকুমেন্টেশন থেকে TabLayout.Tab.select(): "এই ট্যাবটি নির্বাচন করুন Only কেবলমাত্র কার্যকর যদি ট্যাবটি অ্যাকশন বারে যুক্ত করা হয়।"
ড্যানিয়েল কেভিস্ট

7
@ ড্যানিয়েলকভিস্ট, আসলে ডকুমেন্টেশন নিজেই ভুল। উত্স কোডটি নিজের পক্ষে কথা বলে। এই উত্তরটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
জেসন স্পার্ক

@ জেসনস্পার্ক হুম, আমি যখন মনে করি এই সমাধানটি শেষবার চেষ্টা করেছি তখন এটি আমার পক্ষে কাজ করে না, তবে আমি কীভাবে এটি আমার জন্য ডাবল চেক পরীক্ষা করতে পারি কিনা তা আমি দেখতে পাচ্ছি। আপনি চেষ্টা করেছেন? এটি কিছু ক্ষেত্রে কাজ করতে পারে, অন্য ক্ষেত্রে না হলেও? এটি এপিআই-লেভেলের উপর নির্ভর করে বা এর অনুরূপ কিছু হতে পারে?
ড্যানিয়েল কেভিস্ট

অর্ধ রান্না করা উত্তরে এয়ার সাফ করার জন্য ধন্যবাদ! কারণ এটি কেবলমাত্র স্ট্যান্ডলোন ট্যাবলআউটটিতে কাজ করে না কারণ সম্ভবত আপনি বলেছেন কারণেই; এটি অ্যাকশনবারে ট্যাবগুলির সাথে কাজ করা বোঝানো হয়েছে!
Sud007

3
ভিউপ্যাজার ছাড়া ট্যাবলআউট ব্যবহার করা খারাপ অভ্যাস হিসাবে বিবেচনা করা উচিত কেন?
tomalf2

85

এইভাবে আমি এটি সমাধান করেছি:

void selectPage(int pageIndex){
    tabLayout.setScrollPosition(pageIndex,0f,true);
    viewPager.setCurrentItem(pageIndex);
}

3
নির্বাচিত উত্তর আমার পক্ষে কাজ করে নি, তবে এটি একটি করেছিল did
রাফাল জাওয়াদজকি

দুর্দান্ত সমাধান! আমার জন্য ভাল কাজ করেছে, যখন আমার ভিউপাগার এবং ট্যাবভিউ উভয়ই প্রথম পৃষ্ঠায় ফিরে যেতে হবে
sashk0

49

এটা ব্যবহার কর:

tabs.getTabAt(index).select();

ধন্যবাদ, এটি আমার বাস্তবায়ন হিসাবে একটি নিরাপদ সমাধান
ইসলাম

Objects.requireNonNull(tabs.getTabAt(position)).select();ব্যবহারে নিরাপদ
উইলিয়ান লোপস

1
মনে রাখবেন যে, কারেন্টট্যাবআইন্ডেক্স এবং সূচক একই হয় তবে এটি আপনার প্রবাহটি অনাবন্ধিত নির্বাচন না করে ট্যাবসারিজলেটে প্রেরণ করে।
অভিষেক কুমার

@ উইলিয়ান লপস, এটি আপনাকে এনপিআই থেকে রক্ষা করবে না, কেবল তাড়াতাড়ি ফেলে দেবে
ক্রিজিসটফ কুবিকি

33

এটা ব্যবহার কর:

<android.support.design.widget.TabLayout
    android:id="@+id/patienthomescreen_tabs"
    android:layout_width="match_parent"
    android:layout_height="72sp"
    app:tabGravity="fill"
    app:tabMode="fixed"
    app:tabIndicatorColor="@android:color/white"
    app:tabSelectedTextColor="@color/green"/>

অনক্লিকলিস্টারের পরে:

TabLayout tabLayout = (TabLayout) findViewById(R.id.patienthomescreen_tabs);
TabLayout.Tab tab = tabLayout.getTabAt(someIndex);
tab.select();

যদি ট্যাবমোড স্ক্রোলযোগ্য হয় তবে কী হবে?
জিভিশর্মা

আমি একই মনে করি, দয়া করে প্রথমে আপনি এটি চেষ্টা করুন।
প্রবীণ সুথার

23

এটি সম্ভবত চূড়ান্ত সমাধান নয় , এবং এটির জন্য আপনার TabLayoutএকসাথে একসাথে ব্যবহার করা দরকারViewPager , তবে এটিই আমি এটি সমাধান করেছি:

void selectPage(int pageIndex)
{
    viewPager.setCurrentItem(pageIndex);
    tabLayout.setupWithViewPager(viewPager);
}

এই কোডটি ব্যবহারের পারফরম্যান্সের প্রভাবটি কতটা বড় তা আমি পরীক্ষা করেছিলাম প্রথমে পদ্ধতিটি চালনার সময় অ্যান্ড্রয়েড স্টুডিওতে মেমরি মনিটরগুলি দেখে এবং তারপরে সিপিইউ এবং মেমরিতে থাকা লোডের সাথে তুলনা করে যখন আমি পৃষ্ঠাগুলির মধ্যে নেভিগেট করলাম আমি (সোয়াইপ অঙ্গভঙ্গি ব্যবহার করে), এবং পার্থক্যটি উল্লেখযোগ্যভাবে বড় নয়, তাই কমপক্ষে এটি কোনও ভয়াবহ সমাধান নয় ...

আশা করি এটি কাউকে সাহায্য করবে!


1
যখন আমি ড্যাপের সমাধান ( tabLayout.setScrollPosition(pageIndex,0f,true);) করেছি, যখন আমি ডান দিকে ট্যাবে ক্লিক করেছি, তখন ভিউপিজারের পৃষ্ঠা আপডেট হয়নি (কেন জানি না)। কেবলমাত্র বাম ট্যাবে ফিরে ক্লিক করুন এবং তারপরে আবার ডান ট্যাবে আবার অবশেষে ডান ট্যাবটির পৃষ্ঠা পেতে পৃষ্ঠা আপডেট করা হবে যা খুব চটকদার। তবে এই সমাধানটির কোনও গ্লিট ছিল না।
রক লি

12

আপনি যদি ট্যাব ব্যবহার না করতে পারেন (নির্বাচন করুন) এবং আপনি ভিউপ্যাজারটি ব্যবহার করতে না চান তবে আপনি প্রোগ্রাম্যিকভাবে একটি ট্যাব নির্বাচন করতে পারেন। আপনি যদি এর মাধ্যমে কোনও কাস্টম ভিউ ব্যবহার করেন TabLayout.Tab setCustomView(android.view.View view)তবে এটি সহজ। এটি উভয় উপায়ে কীভাবে করা যায় তা এখানে।

// if you've set a custom view
void updateTabSelection(int position) {
    // get the position of the currently selected tab and set selected to false
    mTabLayout.getTabAt(mTabLayout.getSelectedTabPosition()).getCustomView().setSelected(false);
    // set selected to true on the desired tab
    mTabLayout.getTabAt(position).getCustomView().setSelected(true);
    // move the selection indicator
    mTabLayout.setScrollPosition(position, 0, true);

    // ... your logic to swap out your fragments
}

আপনি যদি কাস্টম ভিউ ব্যবহার না করে থাকেন তবে আপনি এটি এর মতো করতে পারেন

// if you are not using a custom view
void updateTabSelection(int position) {
    // get a reference to the tabs container view
    LinearLayout ll = (LinearLayout) mTabLayout.getChildAt(0);
    // get the child view at the position of the currently selected tab and set selected to false
    ll.getChildAt(mTabLayout.getSelectedTabPosition()).setSelected(false);
    // get the child view at the new selected position and set selected to true
    ll.getChildAt(position).setSelected(true);
    // move the selection indicator
    mTabLayout.setScrollPosition(position, 0, true);

    // ... your logic to swap out your fragments
}

নির্বাচিত এবং নির্বাচিত বাছাইযোগ্য ড্রয়াবল বা রঙ এবং / অথবা অঙ্কনযোগ্যগুলির সাথে আপনি যা করতে চান তেমন কিছু করার জন্য টগল করতে একটি স্টেটলিস্টড্রেবল ব্যবহার করুন।


12

viewPager.setCurrentItem(index)সবেমাত্র সেট করা হয়েছে এবং সম্পর্কিত ট্যাবলআউটটি সংশ্লিষ্ট ট্যাবটি নির্বাচন করবে।


এটি আমার পক্ষে কার্যকর হয়নি। আমাকে। পোষ্ট পদ্ধতিটি ব্যবহার করতে হয়েছিল।
arenaq

7

আপনি এটি দিয়ে এটি সমাধান করার চেষ্টা করতে পারেন:

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);

TabLayout.Tab tab = tabLayout.getTabAt(pos);
if (tab != null) {
    tab.select();
}

5

এটা চেষ্টা কর

    new Handler().postDelayed(
            new Runnable(){
                @Override
                public void run() {
                    if (i == 1){
                        tabLayout.getTabAt(0).select();
                    } else if (i == 2){
                        tabLayout.getTabAt(1).select();
                    }
                }
            }, 100);

থ্যাঙ্কস.আইটি আমার পক্ষে কাজ করেছে। তবে দেরি ব্যবহার করা কি ভাল অভ্যাস?
হর্ষ শাহ

আমি অনুমান করি যে কোনও লেআউটের কারণে থ্রেড চালানো খারাপ bad
ক্যামমান্ডো

তাই কদর্য সমাধান
লেস্টার

এটি আমার পক্ষে কাজ করে না। আমি কীভাবে এটি তৈরি করব যে যদি ব্যবহারকারী কোনও ট্যাব ক্লিক করেন, তবে সেই ট্যাব নির্বাচনটি বিলম্ব করবেন? আমি কাজের কিছু পেতে পারি না। আমি পরিবর্তে চেষ্টা করেছিলাম যদি i == 1 টি ব্যবহার করতে হয় (mViewPager.getCurrentItem () == 0) তবে এটি কাজ করে না এবং অন্য কিছু করে না।
iBEK

5

কিছুটা দেরি হলেও এটি কার্যকর সমাধান হতে পারে। আমি আমার টেবিলআউটটি সরাসরি আমার টুকরোটিতে ব্যবহার করছি এবং ফ্রেগমেন্টের লাইফসাইকেলে খুব শীঘ্রই একটি ট্যাব নির্বাচন করার চেষ্টা করছি। আমার জন্য যা কাজ করা হয়েছিল তা হল android.view.View#postপদ্ধতিটি ব্যবহার করে ট্যাবলআউটটি তার শিশুদের দৃষ্টিভঙ্গি সমাপ্ত না হওয়া পর্যন্ত অপেক্ষা করা । অর্থাৎ,

int myPosition = 0;
myFilterTabLayout.post(() -> { filterTabLayout.getTabAt(myPosition).select(); });

সঠিক উত্তরটি আমার পক্ষে কাজ করেছে তবে কিছুটা দেরি এটিকে দুর্দান্ত প্রভাব দেবে new Handler().postDelayed(()->{ tabLayout.post(() -> { tabLayout.getTabAt(myPosition).select(); }); },200);
হিশাম

3

আমি টুকরাগুলি স্যুইচ করতে ট্যাবলআউট ব্যবহার করছি । এটি বেশিরভাগ অংশের জন্যই কাজ করে, যখনই আমি প্রোগ্রামটিমে ব্যবহার করে কোনও ট্যাব নির্বাচন করার চেষ্টা করি তা ছাড়া tab.select(), আমার TabLayout.OnTabSelectedListenerএটিকে ট্রিগার করবে onTabSelected(TabLayout.Tab tab), যা আমাকে অনেক শোক করতে পারে। আমি শ্রোতাদের ট্রিগার না করে প্রোগ্রাম্যাটিক নির্বাচন করার একটি উপায় খুঁজছিলাম for

সুতরাং আমি আমার ব্যবহারের জন্য @ টেনডোগির উত্তরটি মানিয়েছি। আমি আরও এমন সমস্যার মুখোমুখি হয়েছি যেখানে কিছু অভ্যন্তরীণ বস্তু নালাগুলি ফিরে আসবে (কারণ এগুলি এখনও তৈরি করা হয়নি, কারণ আমি onActivityResult()আমার খণ্ডটি থেকে উত্তর দিচ্ছিলাম যা onCreate()ক্রিয়াকলাপের আগে ঘটেছিল singleTaskবা singleInstanceতাই) তাই আমি একটি বিশদ লিখেছিলাম যদি / অন্য ক্রম যা ত্রুটিটি রিপোর্ট করবে এবং NullPointerExceptionতা না করেই পড়বে তা না হলে ট্রিগার হবে। লগিংয়ের জন্য আমি কাঠ ব্যবহার করি, যদি আপনি সেই বিকল্পটি ব্যবহার না করেন Log.e()

void updateSelectedTabTo(int position) {
    if (tabLayout != null){
        int selected = tabLayout.getSelectedTabPosition();
        if (selected != -1){
            TabLayout.Tab oldTab = tabLayout.getTabAt(0);
            if (oldTab != null){
                View view = oldTab.getCustomView();
                if (view != null){
                    view.setSelected(false);
                }
                else {
                    Timber.e("oldTab customView is null");
                }
            }
            else {
                Timber.e("oldTab is null");
            }
        }
        else {
            Timber.e("selected is -1");
        }
        TabLayout.Tab newTab = tabLayout.getTabAt(position);
        if (newTab != null){
            View view = newTab.getCustomView();
            if (view != null){
                view.setSelected(false);
            }
            else {
                Timber.e("newTab customView is null");
            }
        }
        else {
            Timber.e("newTab is null");
        }
    }
    else {
        Timber.e("tablayout is null");
    }
}

এখানে, ট্যাবলাউটটি TabLayoutআমার এক্সএমএলে থাকা বস্তুর সাথে আবদ্ধ আমার মেমরি ভেরিয়েবল । এবং আমি স্ক্রোলিং ট্যাব বৈশিষ্ট্যটি ব্যবহার করি না তাই আমি এটিও সরিয়েছি।


3

ভিউপেজ.সিটারকন্টেনটাইম () ব্যবহার করার জন্য আপনার ভিউপেজার ব্যবহার করা উচিত

 viewPager.setCurrentItem(n);
 tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });

2

আপনার দর্শকের জন্য যুক্ত করুন:

 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                array.clear();
                switch (position) {
                    case 1:
                        //like a example
                        setViewPagerByIndex(0);
                        break;
                }
            }

            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            }

            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });

// ক্র্যাশ বহির্মুখী রোধ করতে হ্যান্ডলার অন

private void setViewPagerByIndex(final int index){
    Application.getInstance().getHandler().post(new Runnable() {
        @Override
        public void run() {
            viewPager.setCurrentItem(index);
        }
    });
}

1
"ক্র্যাশ বহির্মুখী প্রতিরোধ" - বর্তমান আইটেমটি নির্বাচন করতে আমাদের আলাদা থ্রেডের প্রয়োজন কেন?
অ্যাপিদেভো

2

বিভিন্ন উত্তর থেকে সম্মিলিত সমাধান হ'ল:

new Handler().postDelayed(() -> {

  myViewPager.setCurrentItem(position, true);

  myTabLayout.setScrollPosition(position, 0f, true);
},
100);

2

সঙ্গে TabLayoutদ্বারা উপলব্ধ উপাদান উপাদান লাইব্রেরী ঠিক ব্যবহার selectTabপদ্ধতি:

TabLayout tabLayout = findViewById(R.id.tab_layout);
tabLayout.selectTab(tabLayout.getTabAt(index));

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

এটির সংস্করণ 1.1.0 প্রয়োজন।


না, সিলেক্ট্যাব প্যাকেজ-ব্যক্তিগত পদ্ধতি।
এক্সওয়াই

@ xyuber.com আমি একটি গুরুত্বপূর্ণ তথ্য যুক্ত করেছি। এটির সংস্করণ 1.1.0 প্রয়োজন। পদ্ধতিটি এখন সর্বজনীন
গ্যাব্রিয়েল মারিয়োটি

1

ডিফল্টরূপে আপনি কোনও ট্যাব নির্বাচন করলে এটি হাইলাইট করা হবে। আপনি যদি স্পষ্টভাবে নির্বাচন করতে চান তবে আপনার নির্দিষ্ট ট্যাব সূচক অবস্থানের সাথে onTabSelected (TabLayout.Tab ট্যাব) এর অধীন প্রদত্ত মন্তব্যকৃত কোডটি ব্যবহার করুন। এই কোডটি ভিউপ্যাজারটি ব্যবহার করে ট্যাব নির্বাচিত অবস্থানে পরিবর্তন খণ্ড সম্পর্কে ব্যাখ্যা করবে।

public class GalleryFragment extends Fragment implements TabLayout.OnTabSelectedListener 
{
private ViewPager viewPager;public ViewPagerAdapter adapter;private TabLayout tabLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_gallery, container, false);
viewPager = (ViewPager) rootView.findViewById(R.id.viewpager);
adapter = new ViewPagerAdapter(getChildFragmentManager());
adapter.addFragment(new PaymentCardFragment(), "PAYMENT CARDS");
adapter.addFragment(new LoyaltyCardFragment(), "LOYALTY CARDS");
viewPager.setAdapter(adapter);
tabLayout = (TabLayout) rootView.findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
    tabLayout.setOnTabSelectedListener(this);
}

@Override
public void onTabSelected(TabLayout.Tab tab) {
    //This will be called 2nd when you select a tab or swipe using viewpager
    final int position = tab.getPosition();
    Log.i("card", "Tablayout pos: " + position);
    //TabLayout.Tab tabdata=tabLayout.getTabAt(position);
    //tabdata.select();
    tabLayout.post(new Runnable() {
        @Override
        public void run() {
            if (position == 0) {
                PaymentCardFragment paymentCardFragment = getPaymentCardFragment();
                if (paymentCardFragment != null) {
                   VerticalViewpager vp = paymentCardFragment.mypager;
                    if(vp!=null)
                    {
                      //vp.setCurrentItem(position,true);
                      vp.setCurrentItem(vp.getAdapter().getCount()-1,true);
                    }
                  }
            }
            if (position == 1) {
               LoyaltyCardFragment loyaltyCardFragment = getLoyaltyCardFragment();
                if (loyaltyCardFragment != null) {
                   VerticalViewpager vp = loyaltyCardFragment.mypager;
                    if(vp!=null)
                    {
                        vp.setCurrentItem(position);
                    }
                  }
            }
        }
    });
}

@Override
public void onTabUnselected(TabLayout.Tab tab) {
 //This will be called 1st when you select a tab or swipe using viewpager
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
  //This will be called only when you select the already selected tab(Ex: selecting 3rd tab again and again)
}
 private PaymentCardFragment getLoyaltyCardFragment() {
    Fragment f = adapter.mFragmentList.get(viewPager.getCurrentItem());

   if(f instanceof PaymentCardFragment)
   {
    return (PaymentCardFragment) f;
   }
   return null;
 }
private LoyaltyCardFragment getPaymentCardFragment() {
    Fragment f = adapter.mFragmentList.get(viewPager.getCurrentItem());
    if(f instanceof LoyaltyCardFragment)
   {
    return (LoyaltyCardFragment) f;
   }
   return null;
 }
  class ViewPagerAdapter extends FragmentPagerAdapter {
   public List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();
   public void addFragment(Fragment fragment, String title) {
   mFragmentList.add(fragment);
   mFragmentTitleList.add(title);
  }
 }
}

1

এটিও সাহায্য করতে পারে

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int i, float v, int i1) {
    }

    @Override
    public void onPageSelected(int i) {
        tablayout.getTabAt(i).select();
    }

    @Override
    public void onPageScrollStateChanged(int i) {
    }
});

1

যদি এমনটি ঘটে থাকে যে আপনার ডিফল্ট ট্যাবটি প্রথমটি (0) এবং আপনি কোনও খণ্ডে স্যুইচ করতে চলেছেন তবে আপনাকে অবশ্যই প্রথম বারের জন্য খণ্ডটি নিজেই প্রতিস্থাপন করতে হবে। শ্রোতার রেজিস্ট্রেশন হওয়ার আগে ট্যাবটি নির্বাচিত হওয়ার কারণ এটি।

private TabLayout mTabLayout;

...

@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_tablayout, container, false);
    mTabLayout = view.findViewById(R.id.sliding_tabs);
    mTabLayout.addOnTabSelectedListener(mOnTabSelectedListener);

    getActivity().getSupportFragmentManager().beginTransaction()
        .replace(R.id.tabContent, MyFirstFragment.newInstance()).commit();
    return view;
}

বিকল্পভাবে, আপনি কলিং getTabAt(0).select()এবং এ জাতীয় ওভাররাইডিং বিবেচনা করতে পারেন onTabReselected:

@Override
public void onTabReselected(TabLayout.Tab tab) {
    // Replace the corresponding tab fragment.
}

এটি কাজ করবে কারণ আপনি প্রতিটি ট্যাব পুনঃনির্ধারণে মূলত খণ্ডটি প্রতিস্থাপন করছেন।


0

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

public void setTab(){
 tabLayout.setScrollPosition(YOUR_SCROLL_INDEX,0,true);
 tabLayout.setSelected(true);
}

0

আপনার যদি বুঝতে সমস্যা হয় তবে এই কোডটি আপনাকে সহায়তা করতে পারে

private void MyTabLayout(){
    TabLayout.Tab myTab = myTabLayout.newTab(); // create a new tab
    myTabLayout.addTab(myTab); // add my new tab to myTabLayout
    myTab.setText("new tab"); 
    myTab.select(); // select the new tab
}

আপনি এটিকে আপনার কোডে যুক্ত করতে পারেন:

myTabLayout.setTabTextColors(getColor(R.color.colorNormalTab),getColor(R.color.colorSelectedTab));

0

এইভাবে চেষ্টা করুন।

tabLayout.setTabTextColors(getResources().getColor(R.color.colorHintTextLight),
                           getResources().getColor(R.color.colorPrimaryTextLight));

0

আপনি যদি ভিউপ্যাজার ব্যতীত ট্যাবলআউট ব্যবহার করছেন তবে এটি সহায়তা করে

 mTitles = getResources().getStringArray(R.array.tabItems);
    mIcons = getResources().obtainTypedArray(R.array.tabIcons);
    for (int i = 0; i < mTitles.length; i++) {

        tabs.addTab(tabs.newTab().setText(mTitles[i]).setIcon(mIcons.getDrawable(i)));
        if (i == 0) {
            /*For setting selected position 0 at start*/
            Objects.requireNonNull(Objects.requireNonNull(tabs.getTabAt(i)).getIcon()).setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimary), PorterDuff.Mode.SRC_IN);
        }
    }

    tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            Objects.requireNonNull(tab.getIcon()).setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimary), PorterDuff.Mode.SRC_IN);
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
            Objects.requireNonNull(tab.getIcon()).setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.white), PorterDuff.Mode.SRC_IN);
        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }
    });


0
TabLayout jobTabs = v.findViewById(R.id.jobTabs);
ViewPager jobFrame = v.findViewById(R.id.jobPager);
jobFrame.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(jobTabs));

এটি পেজারের সোয়াইপ পৃষ্ঠাটি দেখার হিসাবে ট্যাবটি নির্বাচন করবে

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