Что касается вашей ошибки, без каких-либо подробностей об ошибке это может быть что угодно ...
Я думаю, что с оператором if все в порядке, вы можете захотеть сделать оператор switch по умолчанию: какальтернатива.
switch (position){
case 0:
break;
default:
break;
}
Еще один вариант, который мне лично нравится, - это поместить ваши изображения в файл ресурсов arrays.xml и создать TypedArray, это немного чище и более дружественно для Android.XML-файл будет выглядеть примерно так
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="animals">
<item>@drawable/tiger</item>
<item>@drawable/bear</item>
<item>@drawable/...</item>
</string-array>
</resources>
, и ваша активность будет выглядеть примерно так, без переключателей или ifs
TypedArray ar = getResources().obtainTypedArray(R.array.animals)));
ImageView icon = (ImageView)view.findViewById(R.id.animalImg)
icon.setImageResource(ar.getResourceId(position, -1));