Java 如何将单击/长单击侦听器添加到ViewPager2

Java 如何将单击/长单击侦听器添加到ViewPager2,java,android,Java,Android,我从ViewPager移动到ViewPager2。由于无法将可单击回调设置为ViewPager2,也无法将其扩展为可单击回调,因此我执行了以下操作: public class ViewPagerFragment extends Fragment { ViewPager2 viewPagerTop; ViewPager2Adapter viewPager2TopAdapter; ClickableListener topClickableListener; pub

我从
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);
        });

但这行不通。我在日志上什么也没看到。

检查一下。这应该行得通。看看这个。这应该行得通。