繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM