2
我偶尔会在我的ArrayAdapter中填充我的ListFragment中的NullPointerException
。看起来getActivity()
返回null,但据我所知它不应该这样做。ArrayAdapter中的getActivity()有时返回null
适配器代码inflater = (LayoutInflater)...
是例外行:
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
view = convertView;
if (view == null)
{
/* Inflate a row */
inflater = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); // THIS IS THE EXCEPTION LINE
view = inflater.inflate(R.layout.pairing_list_row, parent, false);
}
我使用一个Loader来获取数据,我不init,可以直到onActivityCreated
方法。在加载器完成加载之前,不会创建适配器,所以它不应该在onActivityCreated
之前发生。
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
getLoaderManager().initLoader(0, null, this);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor)
{
PairingArrayAdapter pairings = (PairingArrayAdapter)getListAdapter();
if (pairings == null)
{
pairings = new PairingArrayAdapter(getActivity(), R.layout.pairing_list_row);
setListAdapter(pairings);
}
...
什么是导致NullPointerException的任何想法?它不会一直发生,它会发生一次,我再次做同样的事情,但它不会发生。我无法弄清楚。