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);
});
但这行不通。我在日志上什么也没看到。检查一下。这应该行得通。看看这个。这应该行得通。