0
点赞
收藏
分享

微信扫一扫

开发大忌--在Fragment中findviewbyid时千万不要基于activity找

萧让听雪 2022-03-24 阅读 82
fragment

如果不同的fragment有同名的id,基于activity找id很容易会出现意想不到的错误,因为本质我们是想寻找当前fragment上的控件id。
那咋办?
为养成好习惯,在创建fragment的时候,把当前fragment对象摘出来使用就好了,如下:

public class SelectFragment extends Fragment {
    View currentFragment;
    private TextView tv;
    public SelectFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View currentFragment = inflater.inflate(R.layout.fragment_select, container, false);
        return currentFragment;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        tv = (TextView)currentFragment. findViewById(R.id.tv);

    }
}
举报

相关推荐

0 条评论