我从 ArrayAdapter 创建了一个 ListView。ListView 的每一行都有一个 ImageView 和一个 TextView。现在我使用 setOnItemClickListener 处理点击事件
lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
CategoryInfo cat = (CategoryInfo) lv
.getItemAtPosition(position);
showGameByCategory(Long.valueOf(cat.getId()), cat.getName());
}
});
当我单击一行时,它将开始另一个活动。在那个活动中,我有一个返回 ListView 的按钮。当单击该按钮时,我会调用Activity.finish();
.
这是问题所在:我第一次打开 ListView 并单击任何项目时,它工作正常并打开新活动。但是当我单击按钮返回并返回 ListView 时,我无法单击任何项目。我的应用程序有很多选项卡,如果我切换到另一个选项卡并切换回 ListView,我可以再次单击 ListView 项。但是每当我点击按钮返回时,这些项目都是不可点击的。
我在 2 个不同的操作系统上进行了测试,它在 Android 2.3 上正常工作,但在 Android 4.0 上发生了这个错误。
有谁知道如何解决这一问题?
编辑:这是我的布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="@drawable/listitem_selector_odd"
android:padding="6dip" >
<RelativeLayout
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical" >
<ImageView
android:id="@+id/avatar"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginRight="6dip"
android:layout_alignParentLeft="true"/>
<TextView
android:id="@+id/toptext"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_toRightOf="@+id/avatar"
android:layout_marginRight="6dip"
android:layout_weight="1"
android:gravity="center_vertical"
android:textColor="#000000"
android:textSize="18dp"
android:textStyle="bold" >
</TextView>
<ImageView
android:id="@+id/arrow"
android:layout_width="10dip"
android:layout_height="15dip"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginLeft="6dip"
android:layout_weight="1"
android:gravity="center_vertical"
android:src="@drawable/arrow_icon" />
</RelativeLayout>
</LinearLayout>