【问题标题】:use page.getTag() in viewpager2 PageTransformer在 viewpager2 PageTransformer 中使用 page.getTag()
【发布时间】:2020-07-30 13:05:22
【问题描述】:

我有一个 3 页的 ViewPager2,我需要专门转换数字 2。

我正在使用 Fragments,但在 ViewPager2 的 PageTransformer 中,我们覆盖了 transformPage(View page, int position) 方法。

所以我尝试的是:

@Override  
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
       Log.d(TAG, "onCreateView: creating the view.");
       // Inflate the layout for this fragment
       View view = inflater.inflate(R.layout.fragment_edit, container, false);
       view.setTag(2);
       //...
       return view;

在 pageTransformer 中:

 @Override
 public void transformPage(@NonNull View page, float position) {
        System.out.println("transformPage " + page.getTag());
        if (page.getTag() != null) {
             // do something 
        }
  }

问题是 page.getTag() 始终为空。我还尝试在 Fragment 的 XML 文件的根视图中设置标记,但仍然无法正常工作。

谢谢

【问题讨论】:

    标签: android android-fragments android-viewpager android-viewpager2 android-pagetransformer


    【解决方案1】:

    您可以拨打(page.parent as RecyclerView).getChildLayoutPosition(page)获取页面索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 2013-03-23
      相关资源
      最近更新 更多