Create Tab Create in Android

 

//-----------------------------------Code Detail and Working---------------------------------------------------------

1 Step Tab Craete XML side

//============================java Code Start ================================

 <com.google.android.material.tabs.TabLayout

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:id="@+id/tab_layout"/>

        <!--ViewPage show click on tab-->

    <androidx.viewpager2.widget.ViewPager2

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:id="@+id/viewpager_container"/>

==============================End=========================================

//-----------------------------------Code Detail and Working---------------------------------------------------------

2 Step Tab Craete Adapter

//============================java Code Start ===============================

 public class CustomPageAdapter extends FragmentStateAdapter {
 
}





if(position==0){
     Log.d(
"dd",position+"");
    return new 
HomeFragment();
}
else {
 
return   new SettingFragment();
}

// Return size of tab

===================================================================================

public int getItemCount() {
    
return 2;
}

















=========================================End=========================================

 

//--------------------------------------------Code Detail and Working---------------------------------------------------------

3 Step Tab show

//============================java Code Start =========================================

binding.tabLayout.addTab(

        binding.tabLayout.newTab()

                .setText("Home"));

binding.tabLayout.addTab(

        binding.tabLayout.newTab()

                .setText("Profile"));

//////

CustomPageAdapter adapter =
        new CustomPageAdapter(
                getSupportFragmentManager(),
                getLifecycle()
        );
binding.viewpagerContainer.setAdapter(adapter);


=========================================End=========================================4 Step Tab Click Function create

//============================java Code Start =========================================

binding.viewpagerContainer.
        registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
            @Override
            public void onPageSelected(int position) {
                super.onPageSelected(position);
                //set button
                Toast.makeText(Tab_create.this, "dsg", Toast.LENGTH_SHORT).show();
                binding.tabLayout.selectTab(
                        binding.tabLayout.getTabAt(position)
                );
            }
        });

////////////////////////////////

5 Step Pager Click Function create

//============================java Code Start =========================================

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

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

    }

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

    }
})
;

=========================================End=========================================

Comment code

package com.example.assignment2.adapters;

import 
androidx.annotation.NonNull;
import 
androidx.fragment.app.Fragment;
import 
androidx.fragment.app.FragmentManager;
import 
androidx.fragment.app.FragmentPagerAdapter;
import 
androidx.fragment.app.FragmentStatePagerAdapter;
import 
androidx.lifecycle.Lifecycle;
import 
androidx.viewpager2.adapter.FragmentStateAdapter;

import 
com.example.assignment2.fagments.HomeFragment;
import 
com.example.assignment2.fagments.SettingFragment;

public class 
CustomPageAdapter extends FragmentStateAdapter {


    
public CustomPageAdapter(@NonNull FragmentManager fragmentManager@NonNull Lifecycle lifecycle) {
        
super(fragmentManagerlifecycle);
    
}

    
@NonNull
    @Override
    
public Fragment createFragment(int position) {
        
if(position==0){
          return 
new HomeFragment();
       
}
       
else {
         return 
new SettingFragment();
       
}
      

    
}

    
@Override
    
public int getItemCount() {
        
return 2;
    
}
}


Post a Comment

0 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.