Android 快速滚动后,BottomSheetDialogFragment内的RecyclerView项目需要双击

Android 快速滚动后,BottomSheetDialogFragment内的RecyclerView项目需要双击,android,android-recyclerview,android-bottomsheetdialog,Android,Android Recyclerview,Android Bottomsheetdialog,我在BottomSheetDialogFragment内有一个RecyclerView。RecyclerView项目在缓慢滚动时正常工作 但是当RecyclerView快速滚动并且列表停止后(不触摸),触摸任何项目在快速触摸上都不起作用。它需要反复触摸 请参见下面的gif示例,当触摸Andhra Pradesh时,它工作正常。缓慢滚动后,触摸Haryana也可以正常工作。然后快速滚动并触摸旁遮普省,在第一次触摸时不起作用。再碰一下就行了 代码如下: OperatorListDialogFrag

我在
BottomSheetDialogFragment
内有一个
RecyclerView
RecyclerView
项目在缓慢滚动时正常工作

但是当
RecyclerView
快速滚动并且列表停止后(不触摸),触摸任何项目在快速触摸上都不起作用。它需要反复触摸

请参见下面的gif示例,当触摸
Andhra Pradesh
时,它工作正常。缓慢滚动后,触摸
Haryana
也可以正常工作。然后快速滚动并触摸旁遮普省,在第一次触摸时不起作用。再碰一下就行了

代码如下: OperatorListDialogFragment.java

package-com.*;
进口*;
公共类运算符ListDialogFragment扩展了BottomSheetDialogFragment{
私有静态最终字符串ARG_NAME=“item_NAME”;
私有静态最终字符串ARG_LOGO=“item_LOGO”;
私人倾听者;
私有字符串头;
私有上下文;
公共静态运算符ListDialogFragment newInstance(字符串[]名称,int[]徽标,字符串头){
最终运算符ListDialogFragment=新运算符ListDialogFragment();
最终Bundle args=新Bundle();
args.putStringArray(ARG_NAME,NAME);
args.putIntArray(ARG_徽标,徽标);
args.putString(“头”,头);
fragment.setArguments(args);
返回片段;
}
@可空
@凌驾
创建视图上的公共视图(LAYOUTINGER充气机,@Nullable ViewGroup container,
@可为空的捆绑包savedInstanceState){
返回充气机。充气(R.layout.fragment\u operator\u list\u dialog\u list\u dialog,container,false);
}
@凌驾
已创建公用void onview(@NonNull视图,@Nullable Bundle savedInstanceState){
TextView headerTV=view.findViewById(R.id.title);
headerTV.setText(getArguments().getString(“header”);
final RecyclerView RecyclerView=view.findViewById(R.id.list);
setLayoutManager(新的LinearLayoutManager(getContext());
setAdapter(新的运算符适配器(getArguments().getStringArray(ARG_名称),getArguments().getIntArray(ARG_徽标));
view.findviewbyd(R.id.disease).setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
解雇();
}
});
}
@凌驾
公共void-onAttach(上下文){
super.onAttach(上下文);
mContext=上下文;
final Fragment parent=getParentFragment();
如果(父项!=null){
mListener=(侦听器)父级;
}否则{
mListener=(侦听器)上下文;
}
}
@凌驾
公共无效连接(){
mListener=null;
super.onDetach();
}
公共接口侦听器{
void onFilterSelected(String selected,String selectedQuery);
}
私有类ViewHolder扩展了RecyclerView.ViewHolder{
最终文本查看文本;
ImageView徽标;
ViewHolder(LayoutFlater充气器、视图组父视图){
//TODO:自定义项目布局
super(充气器。充气(R.layout.fragment_操作符_列表_对话框_列表_对话框_项目,父项,false));
text=itemView.findviewbyd(R.id.tv\u操作员\u姓名);
logo=itemView.findviewbyd(R.id.iv\u充值\u提供者\u图标);
}
}
私有类运算符适配器扩展了RecyclerView.Adapter{
私有字符串[]mNames;
私有int[]mLogos;
运算符适配器(字符串[]名称,int[]徽标){
mNames=名称;
mLogos=徽标;
}
@非空
@凌驾
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType){
返回新的ViewHolder(LayoutInflater.from(parent.getContext()),parent);
}
@凌驾
公共无效onBindViewHolder(最终视图持有人,最终整型位置){
holder.text.setText(mNames[position]);
holder.itemView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Log.e(“单击的“,”+位置);
}
});
}
@凌驾
public int getItemCount(){
返回mNames.length;
}
}
}
dialog.xml


recycler\u item.xml


在RecyclerView中添加android:nestedScrollingEnabled=“false”