I use NavigationTabDrawer and ViewPager for an application. MainActivity:

public class MainActivity extends AppCompatActivity { @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final String[] colors = getResources().getStringArray(R.array.default_preview); NavigationTabBar navigationTabBar = (NavigationTabBar) findViewById(R.id.ntb_horizontal); final ViewPager viewPager = (ViewPager) findViewById(R.id.pager); viewPager.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { Fragment fragment = null; switch (position){ case 0: fragment = new PlayerFragment(); break; case 1: fragment = new StatisticFragment(); break; case 2: fragment = new HeroesFragment(); break; case 3: fragment = new MatchFragment(); break; case 4: fragment = new GuildFragment(); break; } return fragment; } @Override public int getCount() { return 5; } }); final ArrayList<NavigationTabBar.Model> models = new ArrayList<>(); models.add( new NavigationTabBar.Model.Builder( getResources().getDrawable(R.drawable.ic_first), Color.parseColor(colors[0])) .selectedIcon(getResources().getDrawable(R.drawable.ic_sixth)) .title("Heart") .build() ); models.add( new NavigationTabBar.Model.Builder( getResources().getDrawable(R.drawable.ic_second), Color.parseColor(colors[1])) .selectedIcon(getResources().getDrawable(R.drawable.ic_eighth)) .title("Cup") .build() ); models.add( new NavigationTabBar.Model.Builder( getResources().getDrawable(R.drawable.ic_third), Color.parseColor(colors[2])) .selectedIcon(getResources().getDrawable(R.drawable.ic_seventh)) .title("Diploma") .build() ); models.add( new NavigationTabBar.Model.Builder( getResources().getDrawable(R.drawable.ic_fourth), Color.parseColor(colors[3])) .selectedIcon(getResources().getDrawable(R.drawable.ic_eighth)) .title("Flag") .build() ); models.add( new NavigationTabBar.Model.Builder( getResources().getDrawable(R.drawable.ic_fifth), Color.parseColor(colors[4])) .selectedIcon(getResources().getDrawable(R.drawable.ic_eighth)) .title("Medal") .build() ); navigationTabBar.setModels(models); navigationTabBar.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(final int position, final float positionOffset, final int positionOffsetPixels) { } @Override public void onPageSelected(final int position) { } @Override public void onPageScrollStateChanged(final int state) { } }); } } 

activity_main:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:tools="http://schemas.android.com/tools" android:background="#1f1c22" android:orientation="vertical" android:weightSum="1"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="475dp" android:layout_weight="1" /> <devlight.io.library.ntb.NavigationTabBar android:id="@+id/ntb_horizontal" android:layout_width="match_parent" android:layout_height="60dp" app:ntb_badge_gravity="top" app:ntb_badge_position="right" app:ntb_badged="true" app:ntb_scaled="true" app:ntb_tinted="true" app:ntb_title_mode="active" app:ntb_titled="true" app:ntb_swiped="true" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </LinearLayout> 

When the application starts, an error occurs:

 FATAL EXCEPTION: main Process: ru.spoketplace.vainstatistic, PID: 1020 java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.support.v4.app.Fragment 

Where is the mistake?

  • Can you show which line swears? It seems that you have specified the wrong types in the definition of resources. - Ivan Vovk

0