【发布时间】:2017-09-30 13:58:10
【问题描述】:
我有一个 viewpager,它有 4 个片段,它们都有 recyclerview。点击recyclerview,所有四个片段都打开同一个活动,即DemoActivity。我想在 DemoActivity 中显示不同的选项菜单,根据点击了 Fragmnet 的回收视图。我怎么会知道点击了哪个片段的回收视图并在 DemoActivity 中显示适当的选项菜单?
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);
}
}
问题已编辑
【问题讨论】:
-
你可以通过意图传递价值。可以分享一下代码吗?
-
代码很长
-
不确定这是否适用于 Fragments,但请尝试
referrer.getHost() -
@MehmetKologlu 什么是referrer。如何创建它的对象?
-
更正:
ActivityCompat.getReferrer(this).getHost()这是您的活动。或者也许你可以只使用引荐来源网址,而不是主机,真的不知道。
标签: android android-activity android-viewpager fragment android-optionsmenu