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的任何想法?它不會一直髮生,它會發生一次,我再次做同樣的事情,但它不會發生。我無法弄清楚。