ctivity获取viewpager中fragment里的button按钮
时间: 2024-02-25 18:55:59 浏览: 73
Viewpager+Fragment+RadioButton
5星 · 资源好评率100%
要获取 ViewPager 中每个 Fragment 中的 Button 按钮,可以按照以下步骤:
1. 在 Fragment 中,通过 `onCreateView()` 方法创建 Button,并设置其 ID。
```java
public class MyFragment extends Fragment {
private Button mButton;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
mButton = view.findViewById(R.id.my_button);
return view;
}
}
```
2. 在 Activity 中,获取 ViewPager 的当前显示 Fragment,并通过其 ID 找到对应的 Button。
```java
MyFragment fragment = (MyFragment) getSupportFragmentManager()
.findFragmentByTag("android:switcher:" + R.id.viewPager + ":" + viewPager.getCurrentItem());
Button button = fragment.getView().findViewById(R.id.my_button);
```
其中,`R.id.viewPager` 是 ViewPager 的 ID,`viewPager.getCurrentItem()` 获取当前显示的 Fragment 的索引。
注意,如果 Fragment 还没有被创建或添加到 ViewPager 中,`findFragmentByTag()` 方法会返回 null,因此需要在获取 Fragment 后先进行 null 判断。
阅读全文