每次提交片段事务时如何避免布局膨胀?

时间:2017-08-03 14:59:04

标签: android android-fragments layout-inflater fragment-oncreateview

我正在使用片段来设计我的屏幕。
当我导航回另一个片段(从后面的堆栈)时,每次都会调用 onCreateView(...)方法如果片段已经创建。

如何避免每次调用 onCreateView(...)方法并确保它只被调用一次(当它被创建时)第一次)?

1 个答案:

答案 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;
    }
}

但实际上,寻呼机正在重新定义视图是正确的,因为它只保留了内存中所有片段的一部分。所以,我认为最好的想法就是让它按原样运作