Java – Android – listview onitemclick() is not triggered in 4.1 jellybean
I have a user who only installs 4.1 (frozen beans), and listview onitemclick() stops working in my application Events are not triggered (checked by breakpoints and the console), and the UI does not seem to change any events significantly So I tried it in the simulator (even if it was very slow) and encountered the same problem
Has anyone noticed the difference between the new operating system?
There is nothing to focus on in the layout of my project. It works well on the old OS
This is the layout that contains the listview:
<?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="fill_parent" android:background="@drawable/Background"> <ImageView android:id="@+id/LiveGamelogo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentTop="true" android:src="@drawable/Smalllogo"/> <ImageButton android:id="@+id/BackLiveGameButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:src="@drawable/backbutton_button" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_marginLeft="7dp" android:layout_marginTop="7dp"/> <TextView android:id="@+id/LiveGameEditButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/edit_button" android:clickable="true" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_marginRight="7dp" android:layout_marginTop="7dp"/> <ImageView android:id="@+id/LiveGameLayoutBackground" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignBottom="@+id/LiveGamePlayerLayout" android:layout_alignTop="@+id/LiveGamePlayerLayout" android:background="@android:color/white" android:layout_marginTop="7dp" android:layout_marginBottom="7dp"/> <ListView android:id="@+id/LiveGamesList" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_below="@+id/LiveGamePlayerLayout" android:layout_marginTop="-7dp" android:layout_above="@+id/LiveGamesAdPlacement" android:background="#FFFFFF" android:cacheColorHint="#00000000"/> <RelativeLayout android:id="@+id/LiveGamePlayerLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/LiveGamelogo" android:background="@drawable/LiveGameBanner" android:layout_marginTop="10dp"> <ImageView android:id="@+id/LiveGamesPlayerImage" android:layout_width="50dp" android:layout_height="50dp" android:layout_centerVertical="true" android:layout_marginLeft="5dp"/> <ImageView android:id="@+id/LiveGamesPlayerBadge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="5dp"/> <LinearLayout android:id="@+id/LiveGamesLinearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toRightOf="@+id/LiveGamesPlayerImage" android:orientation="vertical" android:layout_marginLeft="20dp"> <TextView android:id="@+id/LiveGamesPlayerscoreText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/TotalscoreSemicolon" android:textColor="@color/darkbluetext" android:textSize="16dp" /> <TextView android:id="@+id/LiveGamesPlayerCoinText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginTop="5dp" android:drawableLeft="@drawable/GameCoin" android:drawablePadding="5dp" android:text="@string/Semicolon" android:textColor="@color/cointext" android:textSize="16dp" /> </LinearLayout> <LinearLayout android:id="@+id/LinearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:layout_toRightOf="@+id/LiveGamesLinearLayout1" android:orientation="vertical" > <TextView android:id="@+id/LiveGamesPlayerLifetimeTotal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" android:textColor="@color/bluescore" android:textSize="20dp" android:layout_marginBottom="2dp"/> <TextView android:id="@+id/LiveGamesPlayerCurrentTotal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4dp" android:text="0" android:textColor="@color/cointext" android:textSize="20dp" /> </LinearLayout> </RelativeLayout> <RelativeLayout android:id="@+id/LiveGamesAdPlacement" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
This is the layout of the project:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight"> <ImageView android:id="@+id/GamePlayerImage" android:layout_height="50dp" android:layout_width="50dp" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_margin="7dp" /> <ImageView android:id="@+id/GamePlayerBadge" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_toRightOf="@+id/GamePlayerImage" android:layout_centerVertical="true" android:layout_marginLeft="5dp" android:layout_marginRight="10dp"/> <TextView android:id="@+id/GamePlayerName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/GamePlayerBadge" android:layout_toLeftOf="@+id/GamePlayOpponent" android:layout_alignTop="@+id/GamePlayerBadge" android:ellipsize="marquee" android:singleLine="true" android:textStyle="bold" android:textColor="@color/darkbluetext" android:layout_marginTop="3dp" android:textSize="20dp" /> <TextView android:id="@+id/GamePlayerscore" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/GamePlayerName" android:layout_alignLeft="@+id/GamePlayerName" android:layout_below="@+id/GamePlayerName" android:ellipsize="marquee" android:singleLine="true" android:textStyle="bold" android:textColor="@color/darkbluetext" android:textSize="18dp" /> <ImageView android:id="@+id/GamePlayOpponent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" /> </RelativeLayout>
My API level is:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="13" />
Any ideas?
Solution
According to my comments, I found that if you have a child view listview and overwrite onattachedtowindow, you need to ensure that this method calls super onAttachedToWindow. The library I'm using doesn't do that. What I see is the same behavior