java – Android – ListView onItemClick()没有在4.1 jellybean中触发

前端之家收集整理的这篇文章主要介绍了java – Android – ListView onItemClick()没有在4.1 jellybean中触发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户只安装4.1(果冻豆),ListView onItemClick()在我的应用程序中停止工作.事件不会触发(由断点和控制台检查),并且UI似乎不会明显改变任何事件.所以我在模拟器中尝试过(即使速度非常慢),也遇到了同样的问题.

有没有人注意到新操作系统的差异?

在我的项目的布局中没有什么可以集中的,它在旧的OS上运行良好.

这是包含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>

这是项目的布局:

<?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>

我的API级别是:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="13" />

有任何想法吗?

解决方法

根据我的评论,我发现如果你有子视图ListView并覆盖onAttachedToWindow,你需要确保该方法调用super.onAttachedToWindow.我正在使用的图书馆没有这样做,我看到的是同样的行为.

猜你在找的Java相关文章