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"
Ö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
<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"
6


Slack Grubumuza Üye Oldunuz mu ?

Yorum Yaz