我想隐藏在当前片段顶部添加新片段时编辑文本的错误消息,但是在同一活动中在顶部添加新片段时不调用当前片段的方法。
谢谢。
我只想隐藏添加在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();
}
当前片段只有在被删除或替换后才会受到影响。简单地添加新片段只会在当前片段上显示新片段,而不会调用当前片段的生命周期方法。
根据您的问题,最好在执行片段事务之前隐藏编辑文本的错误消息。
签出-https ://androidlearnersite.wordpress.com/2017/02/27/fragment-lifecycle-during-fragment-transaction/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句