我偶尔会NullPointerException
在填充我的 ListFragment 的 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 来获取数据,并且在方法之前我不会初始化它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 的任何想法?它不会一直发生,它会发生一次,我再次做同样的事情,它不会发生。我想不通。