-2

J'ai créé mon propre menu TabLayout (à partir d'une activité vide) avec un SectionPagerAdapter modifié à partir d'un projet TabActivity. J'ai seulement changé la méthode getItem() et ai enlevé la méthode de titre de page.L'application cesse de fonctionner après la configuration de tablayout avec ViewPager

public Fragment getItem(int position) { 
    switch (position) 
    { 
     case 0: 
      HomeActivity home = new HomeActivity(); 
      return home; 
     case 1: 
      PayActivity pay = new PayActivity(); 
      return pay; 
     case 2: 
      VideoActivity video = new VideoActivity(); 
      return video; 
     case 3: 
      BillActivity bill = new BillActivity(); 
      return bill; 
     default: 
      return null; 
    } 
} 

}

Et après l'exécution de

TabLayout tabToolbar = (TabLayout) findViewById(R.id.tabToolbar); 
    ViewPager viewPager = (ViewPager) findViewById(R.id.container); 

    SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 
    viewPager.setAdapter(mSectionsPagerAdapter); 
    tabToolbar.setupWithViewPager(viewPager); 

mon application a été arrêté.

Si je commente

tabToolbar.setupWithViewPager(viewPager); 

que mon menu ne fonctionne pas, mais je peux glisser entre mes fragments dans le ViewPager.

Je veux glisser avec mon bouton de menu et en glissant avec mon curseur de souris aussi bien.

Si vous avez besoin de plus d'informations ou de ressources, merci de m'en informer.

Edit:

L'erreur journal affiche:

09-08 06:19:05.822 4207-4207/com.example.fdai3744.t_online20 E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.fdai3744.t_online20, PID: 4207 
                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fdai3744.t_online20/com.example.fdai3744.t_online20.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setColorFilter(int, android.graphics.PorterDuff$Mode)' on a null object reference 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
                        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                        at android.os.Looper.loop(Looper.java:154) 
                        at android.app.ActivityThread.main(ActivityThread.java:6119) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
                       Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setColorFilter(int, android.graphics.PorterDuff$Mode)' on a null object reference 
                        at com.example.fdai3744.t_online20.MainActivity.onCreate(MainActivity.java:37) 
                        at android.app.Activity.performCreate(Activity.java:6679) 
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)  
                        at android.app.ActivityThread.-wrap12(ActivityThread.java)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:154)  
                        at android.app.ActivityThread.main(ActivityThread.java:6119)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)  

2ème édition: Méthode

Je trouve que mon adaptateur n'a pas "public CharSequence getPageTitle (position int)".

+0

Avez-vous eu une erreur de journal? – Dario

+0

Partagez votre chat –

+0

Fait! Voir ci-dessous ma question. –

Répondre

1

ajouter cette ligne de code ci-dessous setupwithviewpager;

viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabtoolbar)); 

EDIT:

i ont mis à jour la réponse, vous pouvez consulter cette réponse pour les onglets avec des icônes seulement.

https://stackoverflow.com/a/32173670/5339829

+0

Malheureusement, cela ne fonctionne pas. :( –

+0

vous obtenez toujours l'erreur –

+0

Non, j'ai découvert que j'ai retiré de ma classe Adapter la méthode getPageTitle.Il fonctionne, mais pas avec des icônes.Je veux un FragmentAdapter qui peut également retourner des icônes. –