Screwed TabLayout of 4 fragments, it scrolls, but does not respond to clicking on the header, how to fix it?

public class MainActivity extends AppCompatActivity { private TabLayout tabLayout; private ViewPager viewPager; private ViewPagerAdapter viewPagerAdapter; DB db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); db = new DB(this); initUI(); } private void initUI() { tabLayout = (TabLayout) findViewById(R.id.tab_layout); viewPager = (ViewPager) findViewById(R.id.viepager); viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(viewPagerAdapter); TabLayout.Tab fragMain = tabLayout.newTab(); TabLayout.Tab fragIncome = tabLayout.newTab(); TabLayout.Tab fragCategory = tabLayout.newTab(); TabLayout.Tab fragReport = tabLayout.newTab(); fragMain.setText("Расходы"); fragIncome.setText("Доходы"); fragCategory.setText("Категории"); fragReport.setText("Отчет"); tabLayout.addTab(fragMain, 0); tabLayout.addTab(fragIncome, 1); tabLayout.addTab(fragCategory, 2); tabLayout.addTab(fragReport, 3); tabLayout.setTabTextColors(ContextCompat.getColorStateList(this, R.color.tab_selector)); tabLayout.setSelectedTabIndicatorColor(ContextCompat.getColor(this, R.color.colorTotalSumm)); viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); } 

Adapter

 import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; public class ViewPagerAdapter extends FragmentStatePagerAdapter{ private final Fragment frag [] = new Fragment[4]; public ViewPagerAdapter(FragmentManager fm) { super(fm); frag [0] = new ContentMainFragment(); frag [1] = new AddingIncomeFragment(); frag [2] = new AddingCategoryFragment(); frag [3] = new AddingTaskFragment4(); } @Override public Fragment getItem(int position) { return frag[position]; } @Override public int getCount() { return frag.length; } 

    3 answers 3

    Perhaps you will be helped by adding a tab connection to a pager like this :

     tabLayout.setupWithViewPager(viewPager); 
    • It did not help, just the names disappeared from Titlle - Eugene Zaychenko

    Did not switch because TabLayout was not inside ViewPager (in markup)

      Try onClick for each piece. Plus you can try this way:

       public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == ваш загаловок фрагмента) { } 
      • And here onClick, I'm talking about TabLayout ?! - Eugene Zaychenko