Reputation: 959
I have a little problem. I'm trying to create a layout with fragment, but when I call the setAdapter method I have a Java NullPointerException, and I can't find the error. Thanks all!
public static class DemoObjectFragment extends Fragment {
public static final String ARG_OBJECT = "object";
private List<RowItem> rowItems;
private static Integer[] images = {
R.drawable.red,
R.drawable.red,
R.drawable.red,
R.drawable.red,
R.drawable.red,
R.drawable.red,
R.drawable.red,
R.drawable.red
};
ListView lv;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_collection_object, container, false);
Bundle args = getArguments();
lv = (ListView) this.getActivity().findViewById(R.id.myList);
rowItems = new ArrayList<RowItem>();
String[] titles = {"Movie1","Movie2","Movie3","Movie4","Movie5","Movie6","Movie7","Movie8"};
String[] descriptions = {"First Movie","Second movie","Third Movie","Fourth Movie","Fifth Movie",
"Sixth Movie","Seventh Movie","Eighth Movie"};
//Populate the List
for (int i = 0; i < titles.length; i++) {
RowItem item = new RowItem(images[i], titles[i], descriptions[i]);
rowItems.add(item);
}
// Set the adapter on the ListView
LazyAdapter adapter = new LazyAdapter(getActivity(), R.layout.list_row, rowItems);
lv.setAdapter(adapter);
lv.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
//((TextView) rootView.findViewById(android.R.id.text1)).setText(Integer.toString(args.getInt(ARG_OBJECT)));
return rootView;
}
}
Upvotes: 0
Views: 879
Reputation: 157437
Change
lv = (ListView) this.getActivity().findViewById(R.id.myList);
with
lv = (ListView) rootView.findViewById(R.id.myList);
you are looking for the ListView in the Activity, but it probably belongs to the fragment's view hierarchy (it is declared inside R.layout.fragment_collection_object
)
Upvotes: 9