2017-09-09 3 views
-1

Je souhaite passer d'une activité normale sans viewpager, tablayout ou fragment à une activité contenant tablayout, fragments et viewpager.Modification de l'activité contenant Viewpager avec Fragments impossible

Everytime I exécuté:

Intent intent = new Intent(this, SecondActivity.class); 
this.startActivity(intent); 
finish(); 

Mon App arrête et je ne peux pas charger.

Mise à jour:

Deuxième code d'activité:

import android.content.Context; 
import android.content.Intent; 
import android.graphics.Color; 
import android.graphics.PorterDuff; 
import android.graphics.Typeface; 
import android.net.Uri; 
import android.support.design.widget.TabLayout; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.TextView; 
import android.widget.VideoView; 

import uk.co.chrisjenx.calligraphy.CalligraphyConfig; 
import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; 

public class SecondActivity extends AppCompatActivity { 

    private TabLayout tabToolbar; 
    private ViewPager viewPager; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() 
       .setDefaultFontPath("fonts/century.ttf") 
       .setFontAttrId(R.attr.fontPath) 
       .build() 
     ); 


     SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 

     viewPager = (ViewPager) findViewById(R.id.container); 
     viewPager.setAdapter(mSectionsPagerAdapter); 

     tabToolbar = (TabLayout) findViewById(R.id.tabToolbar); 
     tabToolbar.setupWithViewPager(viewPager); 

     tabToolbar.getTabAt(0).setIcon(R.mipmap.home_button); 
     tabToolbar.getTabAt(1).setIcon(R.mipmap.pay_button); 
     tabToolbar.getTabAt(2).setIcon(R.mipmap.video_button); 
     tabToolbar.getTabAt(3).setIcon(R.mipmap.bill_button); 

     tabToolbar.getTabAt(tabToolbar.getSelectedTabPosition()).getIcon().setColorFilter(Color.parseColor("#FFFFFF"), PorterDuff.Mode.SRC_IN); 

     tabToolbar.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override 
      public void onTabSelected(TabLayout.Tab tab) { 

       tabToolbar.getTabAt(tabToolbar.getSelectedTabPosition()).getIcon().setColorFilter(Color.parseColor("#FFFFFF"), PorterDuff.Mode.SRC_IN); 
      } 

      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 
       tabToolbar.getTabAt(tabToolbar.getSelectedTabPosition()).getIcon().setColorFilter(Color.parseColor("#e40079"), PorterDuff.Mode.SRC_IN); 
      } 

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

      } 
     }); 
    } 


    @Override 
    protected void attachBaseContext(Context newBase) { 
     super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); 
    } 
} 

Que puis-je faire pour commencer une activité qui containts viewpager avec des fragments?

Mise à jour: LogCat:

09-09 14:59:11.002 2650-2650/com.example.fdai3744.t_online20 E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.fdai3744.t_online20, PID: 2650 
                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fdai3744.t_online20/com.example.fdai3744.t_online20.SecondActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.view.ViewPager.setAdapter(android.support.v4.view.PagerAdapter)' 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.support.v4.view.ViewPager.setAdapter(android.support.v4.view.PagerAdapter)' on a null object reference 
                        at com.example.fdai3744.t_online20.SecondActivity.onCreate(SecondActivity.java:41) 
                        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)  
+0

postez votre deuxième code d'activité –

+0

Donc j'ai fait. Voir ci-dessous ma question. –

+0

Si votre application s'arrête, ajoutez le logcat à la question –

Répondre

0

Vérifiez votre XML de mise en page a ViewPager. Ou assurez-vous que votre identifiant fait référence à ViewPager.

Hope it helps :)

+0

Ce n'est pas une méthode de la classe d'activité –

+1

getChildFragmentManager() ne fonctionne pas. –

0

Merci à cricket_007 pour trouver l'erreur. À l'intérieur de ma méthode SetContentView était "R.layout.activity_main" au lieu de "R.layout.activity_second".

Vous pouvez démarrer une intention pour une activité qui contient des fragments sans aucun problème.