ViewPager OnLongClick侦听器未触发

Cat*_*ine 10 android

我有一个包含ViewPager的片段.当我给布局充气时,我给它分配一个OnLongClick监听器,如下所示:

mPager.setOnLongClickListener(mOnPagerLongClickListener);
Run Code Online (Sandbox Code Playgroud)

但是,当我在ViewPager上执行长按时,没有任何反应.我能做些什么来完成这项工作?或者我是否需要将侦听器分配给ViewPager中的每个视图?将侦听器分配给ViewPager包含的GridViews似乎也不起作用.

abh*_*bhy 3

抱歉提出疑问,但我能够解决这个问题。它对您没有帮助,但可能对任何其他查看者派上用场。

简单的解决方案是将侦听器直接分配给 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)