Java android onCreateView效率

Java android onCreateView效率,java,android,Java,Android,在我的应用程序中,我只有一个activitymain activity,在它的activity\u main.xml中,我有标记,我使用Frame以如下方式更改屏幕内容: FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction() .replace(R.id.id_of_FrameLayout, myFrameInstance)

在我的应用程序中,我只有一个activity
main activity
,在它的
activity\u main.xml
中,我有
标记,我使用
Frame
以如下方式更改屏幕内容:

FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
        .replace(R.id.id_of_FrameLayout, myFrameInstance)
        .commit();
在调用
onCreateView
之前,是否可以在此
框架中初始化一些字段(如
按钮
s、
文本视图
s、
按钮列表
s)?现在,我每次都在
onCreateView
中初始化它们,因为只有在这个地方我才有
LayoutInflater
,我用它来充气
frame\u this\u screen.xml
,但在我看来它并不是真正有效的


因此,我想在我的
Frame
类中编写一些
setUp()
方法,并将
LayoutInflater
之类的内容从
MainActivity
传递给它,以初始化此处的所有字段,并在
onCreateView
中仅对这些字段进行一些小的更改。如何将这样的
LayoutInflater
传递给我的
setUp
方法?

您只能在onCreateView()中初始化您的内容可能只是创建一个方法,您可以调用并传递充气器和视图组的参数来初始化您的内容,并从onCreateView()方法调用它,如

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
                  setUp(inflater,container);
     /*rest of the method*/
   }


您可以从这样的上下文(检查它是否为!=null)或pick获取对LayoutInflater的引用


还要确保不要在过早优化上花费太多时间-进行一些测量,看看
onCreateView()

是否确实存在问题,但这并不能解决问题。每次调用
onCreateView
或在
setUp
中,我仍然会初始化所有字段,每次我都必须检查对象是否为
null
,并且只有在
null
时才初始化,但是我的代码会变得一团糟。问题是,如果你在
onCreateView()之前尝试初始化它
method,您的应用程序可能会由于对充气器和视图组的空引用而崩溃
    private void setUp(LayoutInflater inflater,ViewGroup parent){
               /*Set up your content here*/
     }
(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)