[英]How to add click/long click listener to ViewPager2
我从ViewPager
移动到ViewPager2
。 由于无法为ViewPager2
设置可点击回调或将其扩展为可点击,因此我这样做了:
public class ViewPagerFragment extends Fragment {
ViewPager2 viewPagerTop;
ViewPager2Adapter viewPager2TopAdapter;
ClickableListener topClickableListener;
public interface ClickableListener {
public void on(int position);
public boolean onLong(int position);
}
public void setOnClickTop(ClickableListener clickableListener) {
topClickableListener = clickableListener;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_view_pager, container, false);
viewPagerTop = view.findViewById(R.id.viewPagerTop);
viewPagerTop.setOnLongClickListener(v -> {
Log.d("AAA", "long clicked!");
int position = viewPagerTop.getCurrentItem();
return topClickableListener.onLong(position);
});
viewPagerTop.setOnClickListener(v -> {
Log.d("AAA", "clicked!");
int position = viewPagerTop.getCurrentItem();
topClickableListener.on(position);
});
但它不会工作。 我在日志上什么也没看到。
初始化视图后添加这个yourPager.setUserInputEnabled(false); 通过添加这一行,我遇到了同样的问题,我可以在 viewPager 上执行 longClickAction
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.