OnClickListener 在 RecyclerView 的某些地方不起作用
OnClickListener won't work in some places of RecyclerView
我在 RecyclerView A
中放了另一个 RecyclerView B
。
我在外部 RecyclerView A 的适配器中将 OnClickListener
设置为 ItemView
。
当我点击 RecyclerView A
中 ItemView
的任意位置时,OnClickListener 会正常工作,但是当我点击 ItemView
中的 RecyclerView B
时,我的 OnClickListener
会正常工作不工作了。
有谁知道它为什么会这样?
解决这个问题的最好方法是给适配器的主布局OnClickListener
。
例如:-
<RelativeLayout
android:layout_above="@+id/mainlayout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
............ //more layout.
</RelativeLayout>
然后在适配器中给出OnClickListener
..
holder.mainlayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your code
}
});
这会起作用并解决您的问题..
我在 RecyclerView A
中放了另一个 RecyclerView B
。
我在外部 RecyclerView A 的适配器中将 OnClickListener
设置为 ItemView
。
当我点击 RecyclerView A
中 ItemView
的任意位置时,OnClickListener 会正常工作,但是当我点击 ItemView
中的 RecyclerView B
时,我的 OnClickListener
会正常工作不工作了。
有谁知道它为什么会这样?
解决这个问题的最好方法是给适配器的主布局OnClickListener
。
例如:-
<RelativeLayout
android:layout_above="@+id/mainlayout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
............ //more layout.
</RelativeLayout>
然后在适配器中给出OnClickListener
..
holder.mainlayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your code
}
});
这会起作用并解决您的问题..