在同一活动中添加新片段时,将调用当前片段的哪种方法

拉维·塞夫塔(Ravi Sevta)

我想隐藏在当前片段顶部添加新片段时编辑文本的错误消息,但是在同一活动中在顶部添加新片段时不调用当前片段的方法。

谢谢。

我只想隐藏添加在fragmentA上的EditText视图的错误消息,如下所示。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.um_fragment_nav_signup_frag, container, false);

    mobileNumEditText= (EditText) view.findViewById(R.id.et_nav_mobile);

    mobileNumEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            mobileNumEditText.setError(null);
        }
    });

    return view;
}

@Override
public void onHiddenChanged(boolean hidden) {
    mobileNumEditText.setError(null);
    super.onHiddenChanged(hidden);
}

@Override
public void onPause() {
    mobileNumEditText.setError(null);
    super.onPause();
}

但是在给定方法的同时在Same活动中添加另一个fragment(FragmentB)时,这些方法均未调用。

@Override
public final void addFragment(Fragment fragment, int containerId,
                              boolean addToBackStack) {
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.add(containerId, fragment, fragment.getClass().getSimpleName());
    if (addToBackStack) {
        ft.addToBackStack(null);
    }
    ft.commit();
}
Android开发人员

当前片段只有在被删除或替换后才会受到影响。简单地添加新片段只会在当前片段上显示新片段,而不会调用当前片段的生命周期方法。

根据您的问题,最好在执行片段事务之前隐藏编辑文本的错误消息。

签出-https ://androidlearnersite.wordpress.com/2017/02/27/fragment-lifecycle-during-fragment-transaction/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章