1

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

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

4

1 回答 1

3

如果需要,您可以将膨胀视图缓存到本地字段。例如:

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

但实际上,寻呼机重新膨胀视图是可以的,因为它当时只将所有片段的一部分保留在内存中。所以,我认为最好的办法是让它按应有的方式工作

于 2017-08-03T15:16:55.477 回答