Здравствуйте. Недавно столкнулся с проблемой получения объекта класса ImageView внутри элемента кастомного списка ExpandableListView. Беда заключается в том что приложение неожиданно закрывается при попытке открытии группы с элементом списка. Элемент создается из ресурса при помощи LayoutInflater.
Вот проблемный код кастомного адаптера:
@Override
public View getChildView(int groupIndex, int childIndex, boolean b, View view, ViewGroup parent) {
// inflater - приватное поле адаптера
View v = inflater.inflate(R.layout.device_functions, parent, false);
ImageView filesIcon = (ImageView)v.findViewById(R.id.filesIcon);
return v;
}
Причем это касается именно ImageView. Если например поместить в ресурс TextView и попытаться вместо ImageView получить его, то проблем не возникает.
Привожу код ресурса:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/filesIcon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:background="@color/BLACK"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:id="@+id/filesIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/file" />
<ImageView
android:id="@+id/messagesIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:src="@drawable/message" />
<ImageView
android:id="@+id/camerasIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:src="@drawable/camera" />
</LinearLayout>
Если код метода getChildView обернуть в try/catch, то обработчик вернет следующее сообщение, цитирую: "android.widget.LinearLayout".
Буду признателен за помощь. Спасибо.