我在这里的第一个问题。请对我放轻松。
我有ListView
一个onItemClickListener
实施的。
我还有一个 android 自定义 listItem,其中RelativeLayout
包含 2 个重叠的子项(LinearLayout)。
当我单击 ListItem 时,它不会触发ListView.onClickListrener
代码。仅当自定义 listItem 有 2 个重叠的子项时才会发生这种情况。如果它只有一个,一切顺利。
为什么会这样?提前非常感谢,这让我发疯了。
custom_list_item.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp"
>
<LinearLayout
android:id="@+id/layout_one"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
...
</LinearLayout>
<LinearLayout
android:id="@+id/layout_two"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<Button ...>
</LinearLayout>
</RelativeLayout>
在 MainActivity.java 中:
mMainListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
...//code reachable only when customListItem has only one child
});
我发现了我的问题
问题是在自定义 listItem 视图中,我添加了一个 Button - 它从 listItem 获得焦点。
抱歉这个模棱两可的问题。