NullPointerException
ListFragmentにデータを入力するArrayAdapterがときどき表示されます。nullを返しているように見えgetActivity()
ますが、私が知る限り、そうすべきではありません。
アダプタコード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 );
}
ローダーを使用してデータを取得していますが、メソッドが実行されるまでデータを初期化しません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の原因について何か考えはありますか?それはいつも起こるわけではありません、一度起こります、私は同じことをもう一度します、そしてそれは起こりません。私はそれを理解することはできません。