J'essaie d'appeler une partie de la méthode de mon fragment, Mais la chose est que j'utilise ViewPager Infinie pas ViewPager normal. J'ai essayé la méthode suivante pour appeler la méthode du fragment .Comment appeler une méthode d'un fragment InfiniteViewPager de l'activité
- Je ne peux pas définir l'ID tel qu'il est dans un fragment Infinite ViewPager.
- Je ne suis pas en mesure d'utiliser la balise fragment dans java.
- J'ai essayé la méthode getItem mais entraînent dans un accident .error
FATAL EXCEPTION: principale processus: beatbox.neelay.dialogtest2, PID: 28997 java.lang.NullPointerException: Tentative d'invoquer méthode virtuelle 'android.content.SharedPreferences android.content.Context.getSharedPreferences (java.lang.String, int)' sur une référence d'objet nul at beatbox.neelay.dialogtest2.Songdata.getPlayList (Songdata.java:26) à beatbox.neelay.dialogtest2.Songs.dataretrive (Songs.java:56) à beatbox.neelay.dialogtest2.MainActivity.onFragmentInteraction (MainActivity.java:134) à beatbox.neelay.dialogtest2.BlankFragment.onButtonPressed (BlankFragment.java:70) à beatbox.neelay.dialogtest2.BlankFragment $ 2.onClick (BlankFragment .java: 60) à android.view.View.performClick (View.java:5207) à android.view.View $ PerformClick.run (View.java:21177) à android.os.Handler.handleCallback (Handler .java: 739) à android.os.Handler.dispatchMessage (Handler.java:95) à android.os.Looper.loop (Looper.java:148) à android.app.ActivityThread.main (ActivityTh read.java:5441) à java.lang.reflect.Method.invoke (méthode native) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:738) à com.android.internal .os.ZygoteInit.main (ZygoteInit.java:628)
un autre problème dans InfiniteViewPager est la position n'est pas le même si l'utilisateur continuer à glisser son comme une spirale. c'est la façon dont je l'appelle InfiniteViewPager
private InfiniteViewPager pager = null;
private MyAdapter adapter;
private InfinitePagerAdapter myAdapter;
pager = (InfiniteViewPager) findViewById(R.id.pager);
FragmentManager fragmentManager = getSupportFragmentManager();
adapter = new MyAdapter(fragmentManager);
myAdapter = new InfinitePagerAdapter(adapter);
pager.setAdapter(myAdapter);
et j'ai essayé cette façon d'appeler la méthode
int pos = pager.getCurrentItem();
Fragment activeFragment = adapter.getItem(pos);
if(pos == 2){
((Songs)activeFragment).dataretrive();
((Songs)activeFragment).dataset();
}
tout soupçon comment appeler la méthode sera utile.
votre sharedPreference est null. –