下面列出了androidx.recyclerview.widget.RecyclerView#addOnItemTouchListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void initRecyclerView(View contentView) {
mRecyclerView = (RecyclerView) contentView.findViewById(R.id.galleries);
// use this setting to improve performance if you know that changes
// in content do not change the layout size of the RecyclerView
mRecyclerView.setHasFixedSize(true);
mRecyclerView.addOnItemTouchListener(
new RecyclerItemClickListener(getActivity()) {
@Override
public void onItemClick(RecyclerView.ViewHolder holder, int position) {
showDetailFragment((GalleryViewHolder) holder,
mGalleries.get(position));
}
});
final int itemMargin = getResources().getDimensionPixelSize(R.dimen.grid_single);
mRecyclerView.addItemDecoration(new GalleryDivider(itemMargin));
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final LayoutManagerType layoutManagerType = (LayoutManagerType) getArguments()
.getSerializable(KEY_EXTRA_LAYOUT_MANAGER_TYPE);
final View view = inflater
.inflate(layoutManagerType.getLayoutId(), container, false);
selectedItemView = (TextView) view.findViewById(layoutManagerType.getSelectedItemId());
recyclerView = (RecyclerView) view.findViewById(layoutManagerType.getRVId());
recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(),
DividerItemDecoration.VERTICAL_LIST));
recyclerView.setHasFixedSize(true);
recyclerView.addOnItemTouchListener(this);
gestureDetector = new GestureDetectorCompat(getActivity(), new ItemTouchGestureDetector());
layoutManager = getLayoutManager(layoutManagerType);
recyclerView.setLayoutManager(layoutManager);
// Specify an adapter which displays items
List<String> items = makeItems();
adapter = ItemListAdapter.newItemListAdapter(items, inflater);
recyclerView.setAdapter(adapter);
return view;
}
public void initRecyclerView(final Activity mContext, RecyclerView mRecyclerViewDrawer, List<DrawerEntity> list) {
final BaseQuickAdapter mAdapterDrawer = new DrawerAdapter(mContext);
mRecyclerViewDrawer.setLayoutManager(new LinearLayoutManager(mContext));
mRecyclerViewDrawer.setAdapter(mAdapterDrawer);
mRecyclerViewDrawer.addOnItemTouchListener(new OnItemClickListener() {
@Override
public void onSimpleItemClick(BaseQuickAdapter adapter, View view, int position) {
DrawerEntity entity = (DrawerEntity) mAdapterDrawer.getItem(position);
WebViewActivity.start(mContext,entity.url);
}
});
mAdapterDrawer.setNewData(list);
}
@Override
protected void setAdapterAndDecor(@NonNull RecyclerView list) {
final StickyTestAdapter adapter = new StickyTestAdapter(requireContext());
decor = new StickyHeaderDecoration(adapter);
setHasOptionsMenu(true);
list.setAdapter(adapter);
list.addItemDecoration(decor, 1);
list.addOnItemTouchListener(this);
}
@Override
protected void setAdapterAndDecor(@NonNull RecyclerView list) {
final InlineDoubleHeaderTestAdapter adapter = new InlineDoubleHeaderTestAdapter(requireContext());
decor = new DoubleHeaderDecoration(adapter, true);
setHasOptionsMenu(true);
list.setAdapter(adapter);
list.addItemDecoration(decor, 1);
list.addOnItemTouchListener(this);
}
@Override
protected void setAdapterAndDecor(@NonNull RecyclerView recyclerView) {
final DoubleHeaderTestAdapter adapter = new DoubleHeaderTestAdapter(requireContext());
decor = new DoubleHeaderDecoration(adapter);
setHasOptionsMenu(true);
recyclerView.setAdapter(adapter);
recyclerView.addItemDecoration(decor, 1);
recyclerView.addOnItemTouchListener(this);
}
void attachToRecyclerView(@NonNull RecyclerView recyclerView) {
recyclerView.addOnItemTouchListener(itemTouchListener);
new ItemTouchHelper(this).attachToRecyclerView(recyclerView);
}
private ItemClickSupport(RecyclerView recyclerView) {
mRecyclerView = recyclerView;
mTouchListener = new TouchListener(recyclerView);
recyclerView.addOnItemTouchListener(mTouchListener);
}