我正在尝试从片段中加载活动。我只是使用了基本的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;
}
}
答案 0 :(得分:1)
如果您使用ViewPager
Fragment
,我认为ViewPager.SimpleOnPageChangeListener可以为您提供帮助。查看onPageSelected函数。就像你猜测的那样,当使用ViewPager时,android通常会在两侧加载页面。可以使用setOffscreenPageLimit()设置此号码。你可以尝试将它设置为0或其他东西,而不是测试。