【问题标题】:How to add click/long click listener to ViewPager2如何向 ViewPager2 添加单击/长单击侦听器
【发布时间】:2020-10-17 20:18:37
【问题描述】:

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

但它不会工作。我在日志上什么也没看到。

【问题讨论】:

标签: java android


【解决方案1】:

初始化视图后添加这个 yourPager.setUserInputEnabled(false); 我通过添加这一行来面临同样的问题,我可以在 viewPager 上执行 longClickAction

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    相关资源
    最近更新 更多