【问题标题】:View Pager with OnLongClickListener doesn't work使用 OnLongClickListener 查看寻呼机不起作用
【发布时间】:2017-10-17 08:55:51
【问题描述】:

我有一个ViewPager,我正在尝试在其上应用onLongClickListener 来更改无效的Activity 片段。

mPager1.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
     onViewPagerClick();
        return false;
    }
});

片段替换:

 public void onViewPagerClick() {
     FragmentTransaction ft5 = getSupportFragmentManager().beginTransaction();
     fragment = new SingleProductFragment();
     container.setVisibility(View.VISIBLE);
     ft5.add(R.id.container, fragment);
     // ft.addToBackStack(null);
     ft5.commit();
     sv.setVisibility(View.INVISIBLE);
     addButton.setVisibility(View.INVISIBLE);
}

【问题讨论】:

  • 请多写代码
  • 我已将代码放在 onCreate 内的 Activity 类中
  • 你试过such答案吗?
  • 滚动已经使用 ArrayAdapter 显示了下一个图像。我想应用一个 onLongClick 来打开另一个片段以显示图像的详细信息

标签: android android-fragments android-viewpager onlongclicklistener


【解决方案1】:

ViewPager 不消耗点击事件,因此请尝试在您的图像或容器布局上设置侦听器,而不是 instantiateItem() 中的 viewPager。

更新

@Override
public Object instantiateItem(ViewGroup container, int position) {
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
ViewGroup viewPagerItem = (ViewGroup)inflater.inflate(R.layout.viewPager_item, container, false);
ImageView imageView = (ImageView)viewPagerItem.findViewById(R.id.imageView);
viewPagerItem.setOnLongClickListener(new View.OnLongClickListener() {
     @Override
     public boolean onLongClick(View view) {
         Toast.makeText(MainActivity.this, "TEST", Toast.LENGTH_LONG).show();

        return false;
     }
    });

  container.addView(viewPagerItem);

  return viewPagerItem;
}

【讨论】:

  • 我在容器上试过了,因为它在一个 elative 布局中,但它也不起作用
  • 如果你尝试了instantiateItem 方法中的container 变量,该变量就是viewPager。在我的建议中,我的意思是您的 imageView 所在的容器布局。我用一个例子更新了答案。它应该这样工作:)
  • 我想替换一个片段,但是当我在视图寻呼机适配器中使用 getFragmentManager() 方法时,android studio 无法识别该方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-03
  • 1970-01-01
  • 2014-01-30
  • 1970-01-01
相关资源
最近更新 更多