我有一个包含ViewPager的片段.当我给布局充气时,我给它分配一个OnLongClick监听器,如下所示:
mPager.setOnLongClickListener(mOnPagerLongClickListener);
Run Code Online (Sandbox Code Playgroud)
但是,当我在ViewPager上执行长按时,没有任何反应.我能做些什么来完成这项工作?或者我是否需要将侦听器分配给ViewPager中的每个视图?将侦听器分配给ViewPager包含的GridViews似乎也不起作用.
抱歉提出疑问,但我能够解决这个问题。它对您没有帮助,但可能对任何其他查看者派上用场。
简单的解决方案是将侦听器直接分配给 ImageView 的对象,而不是将其分配给 ViewPager 的对象,即分配 viewPager.setOnLongClickListener 不会触发任何内容。
因此,我们必须在 instantiateItem() 中扩展 PageAdapter 的类中使用 onLongClickListeners 初始化 ImageView:
imageView.setOnLongClickListener(new OnLongClickListener()){
@Override
public boolean onLongClick(View v) {
// Do your stuff
return false;
}
});
Run Code Online (Sandbox Code Playgroud)