Egemen Hamutçu
Egemen Hamutçu

Reputation: 1712

The Same Selector Does Not Work Android

I am using a selector working fine in all activities as you can see its XML below.

<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:state_pressed="true"
    android:drawable="@drawable/active_date_horizontal_5_pressed" /> <!-- pressed -->
<item
    android:state_focused="true"
    android:drawable="@drawable/active_date_horizontal_5_pressed" /> <!-- focused -->
<item
    android:drawable="@drawable/active_date_horizontal_5" /> <!-- default -->

Except one activity, it does not work ridiculously. You can see three screenshots below which the selector works fine in the first two screenshots, and does not work in the last screen shot.

1) First Screen Shot

2) Second Screen Shot

3) Last Screen Shot, Selector Does Not Work

These are customized GridViews which filled with customized BaseAdapter. Cells in the GridViews have an Xml Layout which its background is the selector. Any ideas?

Upvotes: 0

Views: 397

Answers (1)

Egemen Hamut&#231;u
Egemen Hamut&#231;u

Reputation: 1712

It seems I solved my own problem.

You can see the Xml Layout which I am applied the selector below

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:orientation="vertical"
android:background="@drawable/calendar_cell_selector" >

<TextView
    android:id="@+id/txtWeeklyEventName"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerInParent="true"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<ImageView
    android:id="@+id/imgCornerWeekly"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/txtWeeklyEventName"
    android:layout_alignRight="@+id/txtWeeklyEventName"
    android:src="@drawable/corner_orange"
    android:visibility="visible" />

</RelativeLayout>

You can see the background of the RelativeLayout is the selector, but the TextView fills upon the whole layout so Android cannot handle the selector.

Thus, I removed the background from the RelativeLayout and set it for the TextView, it totally works.

Thanks to me!

Upvotes: 2

Related Questions