【问题标题】:Toast in fragmentadapter in androidandroid中片段适配器中的吐司
【发布时间】:2018-09-14 14:29:51
【问题描述】:

我有这个问题,我无法在我尝试过 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;
        }
    }

【问题讨论】:

    标签: java android android-fragments android-toast


    【解决方案1】:

    首先,您可以接收一个 Context 作为参数,该参数可用于发布 Toast。

    但是,您在 getItem(int) 上烘烤时会遇到一个大问题,因为它可以在显示之前被实例化,您可能会在您打算看到的前一屏看到您的烘烤。此外,如果 Adapter 没有销毁该项目,您将不会再次调用此方法。

    更好的解决方案是在 ViewPager 中添加 OnPageChangedListener 并依靠 onPageSelected 处的位置显示当前可见页面的 Toast。

    【讨论】:

      猜你喜欢
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多