fragment|fragment 中加载UI布局和使用findviewbyid
如果你为Fragment在XML文件中创建了什么控件,但findViewById方法却只能被用在Activity类中,所以,有没有办法在Fragment中使用它呢?
当然可以,使用getView()方法就OK了,因为这个方法最终会返回当前fragment的根视图。
Button btn = (Button) getView().findViewById(R.id.btn);
但是你应该知道要在此之前使用onCreateView来创建视图吧。
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment, null);
}
而如果你用inflate方法自己实例化一个view,比如这样:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment, container, false);
}
那么就不是再继续使用getView()了,取而代之的是:
Button btn = (Button) view.findViewById(R.id.btn);
【fragment|fragment 中加载UI布局和使用findviewbyid】这里的view就是之前实例化的View对象了。
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募
- 2020-04-07vue中Axios的封装和API接口的管理