我正在使用片段来设计我的屏幕。
当我导航回另一个片段(从后面的堆栈)时,每次都会调用 onCreateView(...)方法如果片段已经创建。
如何避免每次调用 onCreateView(...)方法并确保它只被调用一次(当它被创建时)第一次)?
答案 0 :(得分:2)
如果需要,您可以将膨胀的视图缓存到本地字段。例如:
public class ExampleFragment extends Fragment {
private View fragmentView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
if (fragmentView == null) {
fragmentView = inflater.inflate(R.layout.you_super_view_id, container);
}
return fragmentView;
}
}
但实际上,寻呼机正在重新定义视图是正确的,因为它只保留了内存中所有片段的一部分。所以,我认为最好的想法就是让它按原样运作