Ich habe einen Viewpager, es hat 4 Fragmente und alle haben Recyclerview. Beim Klicken auf recyclerview öffnen alle vier Fragmente die gleiche Aktivität, d. H. DemoActivity. Ich möchte in DemoActivity ein anderes Optionsmenü anzeigen, anhand dessen auf die recycleview von fragmnet geklickt wurde. Warum würde ich wissen, auf welches Fragment der Recyclerview geklickt wurde und in DemoActivity das entsprechende Optionsmenü anzeigen?Welches Fragment hat die Aktivität geöffnet?
public class CategoryAdapter extends FragmentPagerAdapter {
private Context context;
public CategoryAdapter(Context context,FragmentManager fm) {
super(fm);
this.context=context;
}
@Override
public Fragment getItem(int position) {
if(position==0){
return new MyMoviesFragment();
}
else if(position==1){
return new PopularFragment();
}
else if (position==2){
return new UpComingFragment();
}
else{
return new NowPlayingFragment();
}
}
@Override
public int getCount() {
return 4;
}
@Override
public CharSequence getPageTitle(int position) {
if(position==0){
return context.getString(R.string.category_MyMovies);
}
else if(position==1){
return context.getString(R.string.category_Popular);
}
else if(position==2){
return context.getString(R.string.category_Upcoming);
}
else if(position==3){
return context.getString(R.string.category_NowPlaying);
}
return super.getPageTitle(position);
}
}
Frage wurde
bearbeitet
Sie können Wert durch Absicht übergeben. können Sie bitte den Code teilen? –
der Code ist sehr lang – baby
Nicht sicher, ob dies mit Fragmenten funktionieren wird, aber versuchen Sie 'Referrer.getHost()' –