Androidで「複数のFragment」に「値を渡し」て、「ActionBarに格納する」ようにしているのですが、毎回NullPointerExceptionを投げられてしまいます。どうすればよいでしょうか?
MainActivityのonCreateメソッド
コード @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //作品名を取得 titles = getResources().getStringArray(R.array.titles); //ActionBarを作成 final ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); //タブをセット FragmentManager fm = getFragmentManager(); fTransactions = new ArrayList<FragmentTransaction>(); for (String title : titles) { //fragmentに作品名を渡す FragmentTransaction ft = fm.beginTransaction(); HogeFragment fragment = new HogeFragment(); Bundle bundle = new Bundle(); bundle.putString("title", title); //fragmentに渡す値をセット fragment.setArguments(bundle); ft.add(R.id.parentLL, fragment, title); ft.commit(); //actionBarにfragmentをセット actionBar.addTab(actionBar.newTab() .setText(title) .setTabListener(new TabListener<HogeFragment>(this, title, HogeFragment.class))); } }
HogeFragmentのonCreateViewメソッド
コードpublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.table, container, false); //Activityから作品名を受け取る title = getArguments().getString("title"); }
毎回onCreateViewメソッドのgetArguments()メソッドでBundleがうまくHogeFragmentの受け渡されておらずNullPointerExceptionが投げられるようです。
どうかよろしくお願いします。
実際のエラーログを提示いただけないでしょうか、エラーが起きる行でも構いません。
質問のとおりです。HogeFragmentの
title = getArguments().getString("title");
のgetArguments()メソッドでNullPointerExceptionが投げられます。
どうやらBundleがMainActivityからHogeFragmentへうまく渡されてないようです。