Android 列表项当布局作为列表项包含时,单击“停止工作”

Android 列表项当布局作为列表项包含时,单击“停止工作”,android,xml,android-layout,Android,Xml,Android Layout,所以我有一个声音列表。当我单击列表项时,它会播放声音。当我单击作为列表项一部分的包含布局时,它会执行一些其他操作。出于测试目的,我有一个按钮的图像。它工作得非常好-我点击列表项,它会播放声音,我点击列表项中的图像,它会执行其他操作。当我用要作为列表项包含的布局替换图像时。我的单击列表项最终已停止工作。这个按钮很好用。请参见下面列表项的“我的布局”: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android

所以我有一个声音列表。当我单击列表项时,它会播放声音。当我单击作为列表项一部分的包含布局时,它会执行一些其他操作。出于测试目的,我有一个按钮的图像。它工作得非常好-我点击列表项,它会播放声音,我点击列表项中的图像,它会执行其他操作。当我用要作为列表项包含的布局替换图像时。我的单击列表项最终已停止工作。这个按钮很好用。请参见下面列表项的“我的布局”:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_gravity="center"
android:background="@android:color/white"
android:orientation="horizontal">

<ImageView
    android:id="@+id/Imglogo"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:paddingLeft="16dp"
    android:paddingTop="20dp"
    android:src="@drawable/logo"
    android:tint="#ffa500" />


<TextView
    android:id="@+id/Text"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="8"
    android:fontFamily="sans-serif-medium"
    android:gravity="left"
    android:paddingLeft="16dp"
    android:paddingTop="20dp"
    android:textColor="#878787"
    android:textSize="16sp" />


<include
    android:id="@+id/buttonInsideListItem"
    layout="@layout/some_layout"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:paddingEnd="16dp"
    android:paddingRight="16dp"
    android:paddingTop="20dp"
    android:focusable="false"/>
我在主活动中处理列表项单击:

ListView listView = (ListView) findViewById(R.id.list);

    listView.setFocusableInTouchMode(true);

    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
      //List item click is handled here
            }

        }
    });
ListView ListView=(ListView)findViewById(R.id.list);
setFocusableInTouchMode(true);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共虚线单击(AdapterView AdapterView,视图视图,内部位置,长l){
//列表项单击在此处处理
}
}
});

同时提供Java代码。这里的问题是您使用普通的列表视图……您可以使用
RecyclerView
代替抱歉。我没有提到。我使用带有自定义适配器的回收器视图。我认为xml有问题。我只是不知道是什么
ListView listView = (ListView) findViewById(R.id.list);

    listView.setFocusableInTouchMode(true);

    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
      //List item click is handled here
            }

        }
    });