フラグメント内からアクティビティを読み込もうとしています。基本のAndroidサンプルコードを使用し、いくつかの異なるレイアウトを追加しました。以下のコードは部分的に機能しますが、インテント/アクティビティは4ページだけでなく3ページにスワイプすると開始します。3ページから2ページにスワイプすると1回も開始したと思います。これは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;
}
}