Search code examples
androidandroid-fragmentsandroid-bundle

How to add bundle to Android fragment


How do i add bundle i created to:

int index = 0;

Here is the code i am trying to add bundle. Where am i getting wrong?

public class NewsItemFragment extends Fragment {
public static final String KEY_NEWS_ITEM_INDEX = "news_item_index";

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // TODO:  Hmmm, how do we get this index?
    int index = 0;
    getActivity().setTitle(News.headlines[index]);
    View view = inflater.inflate(R.layout.fragment_newsitem, container, false);
    return view;
}

    public static NewsItemFragment createInstance(int index) {
    NewsItemFragment fragment = new NewsItemFragment();
    Bundle bundle = new Bundle();
    bundle.putInt("news_item_index", index);
    fragment.setArguments(bundle);
    index = bundle.getArguments().getInt( NewsItemFragment.KEY_NEWS_ITEM_INDEX);
    return fragment;
}


@Override
public void onStop() {
    super.onStop();
    getActivity().setTitle(getResources().getString(R.string.app_name));
}

}

here is the link to this question:

https://teamtreehouse.com/community/great-job-thanks-now-in-newsitemfragmentjava-update-the-line-that-says-int-index-0-to-access-the-new-bundle


Solution

  • just replace int index = 0; with

    int index = getArguments().getInt( NewsItemFragment.KEY_NEWS_ITEM_INDEX);