I have a Tablayout to show three fragments via ViewPager and adapter, the problem is that the titles doesn't appear: MainActivity.java:
package com.asd.tab3;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import com.google.android.material.tabs.TabLayout;
public class MainActivity extends AppCompatActivity {
TabLayout tb;
ViewPager vp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tb=findViewById(R.id.tab1);
vp=findViewById(R.id.viwp);
final MyAdapter adapter = new MyAdapter(this,getSupportFragmentManager(), tb.getTabCount());
vp.setAdapter(adapter);
tb.setupWithViewPager(vp);
}
}
MyAdapter.java
package com.asd.tab3;
import android.content.Context;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
public class MyAdapter extends FragmentPagerAdapter {
private Context myContext;
int totalTabs;
public MyAdapter(Context context, FragmentManager fm, int totalTabs) {
super(fm);
myContext = context;
this.totalTabs = totalTabs;
}
// this is for fragment tabs
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
BlankFragment homeFragment = new BlankFragment();
return homeFragment;
case 1:
BlankFragment2 sportFragment = new BlankFragment2();
return sportFragment;
case 2:
BlankFragment3 movieFragment = new BlankFragment3();
return movieFragment;
default:
return null;
}
}
// this counts total number of tabs
@Override
public int getCount() {
return totalTabs;
}
}
Rem: my problem is different from this post: (Titles in TabLayout donsen't appear)