Intereting Posts
Кордова 4.3.0 Ошибка: установите Android-цель: «android-21» Изменение макета, если язык устройства – арабский Предпочтительный способ обновления sqlite db в android Как внедрить библиотеку в процесс zygote в Android? Как ограничить ближайший поиск местоположения в соответствии с текущим местоположением, используя карты google в android? Исключение из памяти Исключение при работе с растровыми изображениями Геолокация, обслуживание и локальные уведомления Как использовать Mockito с dexmaker для тестирования Android? Android Studio отсутствует исключение stacktrace в Logcat Можно ли объявить репозиторий git как зависимость в графе android? Лучший подход к передаче данных из веб-представления в родное приложение (Windows, iOS и Android) XmlPullParserException Бинарная строка XML-файла # 17 тег <vector> требует viewportWidth> 0 Высота всплывающего окна Android PopupWindow не отображается Сохранить собственное состояние экземпляра ListView? Как преобразовать следующую строку в дату или объект календаря в Java?

SetOnItemClickListener () не работает с gridView

Я знаю, что это уже спрошено, но почему-то решения для меня не работают.

У меня есть gridView который накачивается relativeLayout . Адаптер прекрасно устанавливается. Когда я добавляю clickListener к одному из дочерних элементов relativeLayout они также отлично работают. Но не itemClickListener в gridview .

Вот что я пробовал:

Вид сетки:

 <GridView android:id="@+id/gridView" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:clickable="true" android:clipToPadding="true" android:columnWidth="170dp" android:fitsSystemWindows="true" android:focusable="true" android:numColumns="auto_fit" android:stretchMode="columnWidth" > </GridView> 

Relativelayout добавлен в gridview:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rlImage" android:layout_width="220dp" android:layout_height="180dp" android:focusable="false" android:focusableInTouchMode="false" android:paddingBottom="7dp" android:paddingRight="7dp" > <ImageButton android:id="@+id/image" android:layout_width="220dp" android:layout_height="220dp" android:adjustViewBounds="true" android:background="@null" android:focusable="false" android:focusableInTouchMode="false" android:scaleType="centerCrop" android:src="@drawable/noimage" /> <!-- <ImageButton --> <!-- android:id="@+id/imageHover" --> <!-- android:layout_width="220dp" --> <!-- android:layout_height="220dp" --> <!-- android:adjustViewBounds="true" --> <!-- android:background="@null" --> <!-- android:scaleType="fitXY" --> <!-- android:src="@drawable/tile_selector_style" /> --> <TextView android:id="@+id/ShowTitle" android:layout_width="220dp" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:focusable="false" android:focusableInTouchMode="false" android:hint="Show Title" android:paddingBottom="40dp" android:paddingRight="20dp" android:singleLine="true" /> <TextView android:id="@+id/ShowTime" android:layout_width="220dp" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:focusable="false" android:focusableInTouchMode="false" android:hint="Show Time" android:paddingBottom="20dp" android:paddingRight="20dp" android:singleLine="true" /> <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="220dp" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_margin="0dp" android:focusable="false" android:focusableInTouchMode="false" /> </RelativeLayout> 

Настройка приемника gridview:

 gv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub Log.v("griditem", "clicked"); Toast.makeText(context, "Here", Toast.LENGTH_LONG).show(); } }); 

Не знаю, что здесь происходит.

Попробуйте установить android:descendantFocusability="blocksDescendants" на ваш RelativeLayout

И удалить android:focusable="false" android:focusableInTouchMode="false" от каждого ребенка

Эй, ребята, так я решил проблему;

При использовании кликабельных объектов в сетке, к сожалению, android не может обработать событие щелчка сетки.

SO USE использовать интерфейс.

Пример: ИСПОЛЬЗОВАНИЕ IMAGEVIEW ВМЕСТО ИЗОБРАЖЕНИЯ И КНОПКИ

Если вам нужно показать какой-то текст на этом изображении, используйте textview и выровняйте его поверх изображения.