我有这个问题我不能在片段适配器中干杯我试过getActivity并且它没有提出任何建议为什么?
public class SamplePagerAdapter extends FragmentPagerAdapter {
public SamplePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
/** Show a Fragment based on the position of the current screen */
if (position == 0) {
return new SampleFragment();}
if (position == 1) {
return new SampleFragment1q();
} else
return new SampleFragmentTwo();
Toast.makeText(TSlide.this, "end of lesson" , Toast.LENGTH_LONG).show();
}
@Override
public int getCount() {
// Show 2 total pages.
return 3;
}
}
答案 0 :(得分:0)
首先,您可以接收一个Context作为参数,该参数可以发布Toasts。
但是,在getItem(int)中进行烘烤会有一个很大的问题,因为它可以被实例化。在显示之前,你可能会在你想要的那个之前看到你的吐司一个屏幕。此外,如果适配器没有销毁该项目,则不会再次调用此方法。
更好的解决方案是在ViewPager中添加OnPageChangedListener并依赖onPageSelected上的位置来显示当前可见页面的Toast。