viewpager+fragment activity中获取fragment控件
时间: 2023-09-25 10:09:12 浏览: 160
回答: 在Activity中获取ViewPager中的Fragment的控件,可以通过以下步骤实现。首先,在Activity中创建一个ViewPager,并设置适配器。然后,在适配器中的getItem方法中返回对应位置的Fragment。接着,在Fragment中的onCreateView方法中加载布局文件,并通过findViewById方法获取到需要的控件。最后,在Activity中通过ViewPager的getCurrentItem方法获取当前显示的Fragment的位置,然后通过适配器的getItem方法获取到对应位置的Fragment实例,再通过该Fragment实例的getView方法获取到该Fragment的根布局,最后通过根布局的findViewById方法获取到需要的控件。这样就可以在Activity中获取到ViewPager中Fragment的控件了。[1][2][3]
相关问题
android activity 获取viewpager,Android ViewPager+Fragment 在Activity中获取Fragment的控件
要在Activity中获取ViewPager的控件,可以通过findViewById方法来获取,例如:
```java
ViewPager viewPager = findViewById(R.id.viewPager);
```
要在Activity中获取ViewPager中的Fragment的控件,可以通过ViewPager的getChildFragmentManager()方法获取FragmentManager,然后通过FragmentManager的findFragmentByTag方法获取指定的Fragment,最后通过Fragment的getView()方法获取Fragment中的控件,例如:
```java
Fragment fragment = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.viewPager + ":" + viewPager.getCurrentItem());
View view = fragment.getView();
Button btn = view.findViewById(R.id.btn);
```
其中,"android:switcher:"是一个固定的字符串,R.id.viewPager是ViewPager的id,viewPager.getCurrentItem()获取当前显示的Fragment的位置,最后拼接成的字符串是Fragment的tag。
阅读全文