I'm trying to get a ListView
working in an android ViewPager
Fragment
. This code I have so far however causes the app to crash - I'm not sure why!
public class DirectoryFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_directory, container, false);
ListView listView = (ListView) getActivity().findViewById(R.id.list);
String[] values = new String[] {"Viewer 1",
"Viewer 2",
"Viewer 3"
};
ArrayAdapter adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, values);
listView.setAdapter(adapter);
return rootView;
}
}
You must get NPE on listView.setAdapter(adapter);
because listView
is not initialised correctly.
You need to change:
ListView listView = (ListView) getActivity().findViewById(R.id.list);
to
ListView listView = (ListView) rootView .findViewById(R.id.list);
and make sure you have list
id in fragment_directory
.
Your view is rootView
, so you need that for finding ListView
.
//Edit
please change
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
to
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
but your code is correct, problem is some where else.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.