【发布时间】: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);
});
但它不会工作。我在日志上什么也没看到。
【问题讨论】:
-
检查这个。这应该有效。 stackoverflow.com/a/55881654/963038