I have images in a fragment that I want to display in a fragment ListView.
This is what I tried, can guess what is wrong with my code?
I made an integer number of ArrayListimages available
ArrayList<Integer> ex1 = new ArrayList<Integer>();
ex1.add(R.drawable.a);
ex1.add(R.drawable.b);
ex1.add(R.drawable.c);
ex1.add(R.drawable.d);
and tried to pass it to a fragment, as if we passed any String ArrayList
I announced in this core exercise
public static final String Data = "list";
and then
bundle = new Bundle();
bundle.putIntegerArrayList(DATA, ex1);
Fragment fragment = new ExFragment();
fragment.setArguments(arguments);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.replace(R.id.container, fragment);
ft.addToBackStack("");
ft.commit();
and then in the fragment class
private ArrayList<Integer> images = new ArrayList<>();
in fragment construction
if (getArguments() != null) {
images = getArguments().getIntegerArrayList(MainMenu.DATA);
}
and in oncreateview
View rootView = inflater.inflate(R.layout.fragment_ex, container, false);
ListView listView = (ListView) rootView.findViewById(R.id.listview);
ArrayAdapter adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, R.id.text1, images);
listView.setAdapter(adapter);
but he gave me NullPointerException
java.lang.NullPointerException
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:395)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
at android.widget.AbsListView.obtainView(AbsListView.java:2724)
at android.widget.ListView.makeAndAddView(ListView.java:1811)
at android.widget.ListView.fillDown(ListView.java:697)
at android.widget.ListView.fillFromTop(ListView.java:763)
at android.widget.ListView.layoutChildren(ListView.java:1641)
at android.widget.AbsListView.onLayout(AbsListView.java:2549)
at android.view.View.layout(View.java:15762)
at android.view.ViewGroup.layout(ViewGroup.java:4867)
This code works fine with Strign ArrayListif I go from Integerto String and putString ArrayList