I filling a ListView
with information from a webserver.
In the Activity
, my ListAdapeter
is working perfectly, but when I'm trying to use it in a Fragment
, I can't iniziallizate my adapter.
ListAdapter.java
public class ListAdapter extends BaseAdapter {
MainActivity main;
public ListAdapter(MainActivity main){
this.main = main;
}
//Some methods.
}
MainActivity.java
public class ListReportsFragment extends SupportMapFragment {
@Override
public ListView list;
public ListAdapter adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//.........
list = (ListView) findViewById(R.id.list);
adapter = new ListAdapter(this);
list.setAdapter(adapter);
}
//........
}
There is working perfectly, but, when I try to use it in my Fragment:
ListReportsFragment
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
list = (ListView) getView().findViewById(R.id.list);
adapter = new ListAdapter(new MainActivity());
list.setAdapter(adapter); //This is the line 58
}
I get the error
java.lang.NullPointerExceptionlayout.ListReportsFragment.onActivityCreated(ListReportsFragment.java:58)
Change
adapter = new ListAdapter(new MainActivity());
to
adapter = new ListAdapter(getActivity());