簡體   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