ListView setOnItemClickListener() Çalışmaması

ListView setOnItemClickListener() Çalışmaması
Reklam Alanı

Merhaba arkadaşlar,

Custom şekilde ListView oluştururken listview in içindeki item lerde kimi zaman ( Button, ImageButton, TextView, ImageView vb. ) bileşenleri kullanırız. Daha sonra ListView mize tıklandığı anda çalıştırdığımız setOnItemClickListener() methodunun çalışmadığını görürüz.

ListView içinde ImageButton kullandım ve bahsetmiş olduğum tıklanma eventı çalışmadı bunu çözmek için yapmanız gereken ImageButton ları tanımladığınız layouta aşağıdaki kod parçasını vermektir.

android:descendantFocusability=”blocksDescendants”

android:descendantFocusability=“blocksDescendants”

Örnek verecek olursak; ListView içinde yer alan item leri hazırlamak için oluşturduğumuz layouta baktığımızda yukarıdaki kod parçacığını ImageButton ları tutan layout a verdiğimi göreceksiniz.

listview_item.xml 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<LinearLayout

            android:descendantFocusability=“blocksDescendants”

            android:orientation=“horizontal”

            android:layout_width=“wrap_content”

            android:layout_height=“wrap_content”

            android:layout_alignParentTop=“true”

            android:layout_alignParentEnd=“true”>

 

            <ImageButton

                android:id=“@+id/call_image”            

                android:layout_width=“wrap_content”

                android:layout_height=“wrap_content” />

 

            <ImageButton

                android:id=“@+id/msg_image”          

                android:layout_width=“wrap_content”

                android:layout_height=“wrap_content” />

 

 

        </LinearLayout>

NOT:    Aşağıdaki focusable kodlarını kullanıyorsanız eğer ImageButton için çalışmadığını ve ListView in setOnItemClickListener methodunun işlevsiz kaldığını göreceksiniz. Bu kod parçalarını ListView içinde ImageView kullanıyorsanız deneyebilirsiniz.

android:focusable=”false”
android:focusableInTouchMode=”false”

android:focusable=“false”

android:focusableInTouchMode=“false”

 

6

Kategori: Genel
Yazar: Meka
İçerik: 459 kelime
Okuma Süresi: 4 dakika
Zaman: 2+ yıl önce
Yayım: 29-10-2015
Güncelleme: 29-10-2015