Buggy code:
public class DataEntryFragment extends Fragment implements LoaderManager . LoaderCallbacks < DataEntryFragmentForm > , AdapterView . OnItemSelectedListener , OnBackPressedListener { public static final String TAG = DataEntryFragment . class . getSimpleName ( ) ; private static final int LOADER_ID = 1 ; private static final String EXTRA_ARGUMENTS = "extra:Arguments" ; private static final String EXTRA_SAVED_INSTANCE_STATE = "extra:savedInstanceState" ; private static final String ORG_UNIT_ID = "extra:orgUnitId" ; private static final String PROGRAM_ID = "extra:ProgramId" ; private static final String EVENT_ID = "extra:EventId" ; private ListView mListView ; private ProgressBar mProgressBar ; private View mSpinnerContainer ; private Spinner mSpinner ; private EditText mLatitude ; private EditText mLongitude ; private ImageButton mCaptureCoords ; private SectionAdapter mSpinnerAdapter ; private DataValueAdapter mListViewAdapter ; private INavigationHandler mNavigationHandler ; private DataEntryFragmentForm mForm ; public static DataEntryFragment newInstance ( String unitId , String programId ) { } public static DataEntryFragment newInstance ( String unitId , String programId , long eventId ) { } private static Map < String , ProgramStageDataElement > toMap ( List < ProgramStageDataElement > dataElements ) { } @ Override public void onAttach ( Activity activity ) { } @ Override public void onDetach ( ) { } @ Override public void onCreate ( Bundle savedInstanceState ) { } @ Override public void onResume ( ) { } @ Override public void onPause ( ) { } @ Override public void onCreateOptionsMenu ( Menu menu , MenuInflater inflater ) { } @ Override public View onCreateView ( LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState ) { } @ Override public void onViewCreated ( View view , Bundle savedInstanceState ) { } @ Override public void onDestroyView ( ) { } @ Override public boolean onOptionsItemSelected ( MenuItem menuItem ) { } @ Override public void onActivityCreated ( Bundle savedInstanceState ) { } @ Override public void onSaveInstanceState ( Bundle outState ) { } @ Override public Loader < DataEntryFragmentForm > onCreateLoader ( int id , Bundle args ) { } @ Override public void onLoadFinished ( Loader < DataEntryFragmentForm > loader , DataEntryFragmentForm data ) { } @ Override public void onLoaderReset ( Loader < DataEntryFragmentForm > loader ) { } @ Override public void onItemSelected ( AdapterView < ? > parent , View view , int position , long id ) { } @ Override public void onNothingSelected ( AdapterView < ? > parent ) { } @ Override public void doBack ( ) { } @ Subscribe public void onRowValueChanged ( EditTextValueChangedEvent event ) { if ( ( ( mForm ) == null ) || ( ( mForm . getIndicatorRows ( ) ) == null ) ) { return ; } for ( IndicatorRow indicatorRow : mForm . getIndicatorRows ( ) ) { String newValue = ProgramIndicatorService . getProgramIndicatorValue ( mForm . getEvent ( ) , indicatorRow . getIndicator ( ) ) ; if ( ! ( newValue . equals ( indicatorRow . getValue ( ) ) ) ) { indicatorRow . updateValue ( newValue ) ; } } int start = mListView . getFirstVisiblePosition ( ) ; int end = mListView . getLastVisiblePosition ( ) ; for ( int pos = start ; pos <= end ; pos ++ ) { if ( ( ( mListViewAdapter . getCount ( ) ) > pos ) && ( ( mListViewAdapter . getItemViewType ( pos ) ) == ( INDICATOR . ordinal ( ) ) ) ) { <START_BUG> View view = mListView . getChildAt ( pos ) ; <END_BUG> mListViewAdapter . getView ( pos , view , mListView ) ; } } } private ActionBar getActionBar ( ) { } private Toolbar getActionBarToolbar ( ) { } private void attachCoordinatePicker ( Double latitude , Double longitude ) { } private void attachSpinner ( ) { } private void detachSpinner ( ) { } private boolean isSpinnerAttached ( ) { } private void submitEvent ( ) { } private ArrayList < String > isEventValid ( ) { } No newline ; at end ; of file ; }

Fix:
View view = mListView . getChildAt ( ( pos - start ) ) ;