Récupérer le nom du fragment qui a lancé l'activity
Bonjour, tout d'abord je vous explique la base de mon application :
J'ai des onglets représentés par des Fragments, chaque onglet contient des listViews. Lorsque l'utilisateur clique sur un item de ma Listview il affiche des images qu'il peut faire defiler grace à un ViewPager.
Dans ma classe ViewPager je dois récupérer un tableau de int grace à un getter ( Monfragment.getTabPDF() )
Ce que je n'arrive pas a faire c'est de récupérer le fragment qui a appelé cette activity pour ensuite faire un test du genre :
Code:
1 2 3 4 5 6 7 8
| if ( NameFragment == "Fragment1" )
Fragment1.getTabPDF();
else if ( NameFragment == "Fragment2")
Fragment2.getTabPDF();
else if ( NameFragment == "Fragment3")
Fragment3.getTabPDF();
else if ( NameFragment == "Fragment4")
Fragment4.getTabPDF(); |
ViewPagerActivity :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
public class ViewPagerActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_pager);
ViewPager mViewPager = (HackyViewPager) findViewById(R.id.view_pager);
setContentView(mViewPager);
getActionBar().setDisplayHomeAsUpEnabled(true);
mViewPager.setAdapter(new SamplePagerAdapter());
}
static class SamplePagerAdapter extends PagerAdapter {
//private static int[] sDrawables = { R.drawable.s3, R.drawable.s3_2 }
private Integer[] sDrawables = Fragment1.getTabPDF();
@Override
public int getCount() {
return sDrawables.length;
}
@Override
public View instantiateItem(ViewGroup container, int position) {
PhotoView photoView = new PhotoView(container.getContext());
photoView.setImageResource(sDrawables[position]);
// Now just add PhotoView to ViewPager and return it
container.addView(photoView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
return photoView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
} |