Android:从片段页面加载活动或意图

时间:2013-03-27 05:42:09

标签: android android-activity fragment

我正在尝试从片段中加载活动。我只是使用了基本的android示例代码并添加了一些不同的布局。下面的代码部分工作,但是,当滑动到第3页而不仅仅是第4页时,意图/活动开始。我认为从第3页到第2页滑动时它也开始了一次。我认为这与android想要有关预加载页面上的所有内容以实现无缝滑动。

从一个片段页面滑动到另一个片段页面时,有没有办法加载活动?或者也许是一些迂回的方式,只有在我实际刷到适当的页面后才能启动活动?除了不良行为之外,我没有得到任何错误。

public static class DummySectionFragment extends Fragment {
    /**
     * The fragment argument representing the section number for this
     * fragment.
     */
    public static final String ARG_SECTION_NUMBER = "section_number";

    public DummySectionFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {


        if (getArguments().getInt(ARG_SECTION_NUMBER)==2){
            LayoutInflater inflater2 = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View mDialogView = inflater2.inflate(R.layout.activity_main2, null);
            return mDialogView;
        } else if (getArguments().getInt(ARG_SECTION_NUMBER)==3){
            LayoutInflater inflater2 = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View mDialogView = inflater2.inflate(R.layout.activity_main3, null);
            return mDialogView;
        } else if (getArguments().getInt(ARG_SECTION_NUMBER)==4){
             LayoutInflater inflater2 = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             View mIntentView = inflater2.inflate(R.layout.page_four_layout, null);
             Intent intent = new Intent(getActivity().getApplication(), PageFourActivity.class);
             startActivity(intent);
             return mIntentView;
        } else {

            // Create a new TextView and set its text to the fragment's section
            // number argument value.
            TextView textView = new TextView(getActivity());
            textView.setGravity(Gravity.CENTER);
            textView.setText(Integer.toString(getArguments().getInt(
                ARG_SECTION_NUMBER)));
            return textView;
        }


    }

1 个答案:

答案 0 :(得分:1)

如果您使用ViewPager Fragment,我认为ViewPager.SimpleOnPageChangeListener可以为您提供帮助。查看onPageSelected函数。就像你猜测的那样,当使用ViewPager时,android通常会在两侧加载页面。可以使用setOffscreenPageLimit()设置此号码。你可以尝试将它设置为0或其他东西,而不是测试。