要使TextView在具有滑动ItemTouchHelper的RecyclerView中可滚动,可以通过以下步骤实现:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
// ...
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
// ...
holder.itemView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// 禁用RecyclerView的滚动
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
}
// ...
}
onChildDraw()
方法中,可以根据滑动的距离来调整TextView的滚动位置。可以通过以下代码实现:ItemTouchHelper.SimpleCallback callback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
// ...
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
// ...
if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) {
// 根据滑动距离调整TextView的滚动位置
viewHolder.itemView.findViewById(R.id.textView).scrollBy((int) dX, 0);
}
// ...
}
// ...
};
通过以上步骤,可以实现在具有滑动ItemTouchHelper的RecyclerView中使TextView可滚动。请注意,这只是一种实现方式,具体实现可能会根据项目的需求和具体情况有所不同。
推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/umeng_push)、腾讯云云服务器(https://cloud.tencent.com/product/cvm)、腾讯云对象存储(https://cloud.tencent.com/product/cos)、腾讯云人工智能(https://cloud.tencent.com/product/ai)等。
领取专属 10元无门槛券
手把手带您无忧上云