Toast类型中的方法makeText不适用于参数

Har*_*M V 3 android toast android-fragments android-viewpager

我正在使用ViewPageIndicator并在我们滚动到下一个片段页面时尝试使用Toast来显示.

我得到他跟随错误

The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (PlaceDetailsFragment, String, int)
Run Code Online (Sandbox Code Playgroud)

PlaceDetailsFragment.java

public class PlaceDetailsFragment extends SherlockFragment {
    ImageFragmentAdapter mAdapter;
    ViewPager mPager;
    PageIndicator mIndicator;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_place_details, container,
                false);

        mAdapter = new ImageFragmentAdapter(getActivity()
                .getSupportFragmentManager());

        mPager = (ViewPager) view.findViewById(R.id.pager);
        mPager.setAdapter(mAdapter);

        mIndicator = (CirclePageIndicator) view.findViewById(R.id.indicator);
        mIndicator.setViewPager(mPager);
        ((CirclePageIndicator) mIndicator).setSnap(true);

        mIndicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                Toast.makeText(PlaceDetailsFragment.this, "Changed to page " + position, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            }

            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });
        return view;
    }

}
Run Code Online (Sandbox Code Playgroud)

Pea*_*oto 14

片段不会扩展上下文.您必须将活动作为上下文传递.

Toast.makeText(PlaceDetailsFragment.this.getActivity(), "Changed to page " + position, Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)