Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android onCreateView()是片段类的构造函数吗?_Android - Fatal编程技术网

Android onCreateView()是片段类的构造函数吗?

Android onCreateView()是片段类的构造函数吗?,android,Android,我正在创建一个片段,并使用java代码将其添加到布局中。为此,我创建了两个类和两个布局。其中一个类扩展Fragment,另一个类扩展FragmentActivity。其中一个xml文件是容器,另一个是片段。这是我的密码: public class FragmentClass extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bun

我正在创建一个片段,并使用java代码将其添加到布局中。为此,我创建了两个类和两个布局。其中一个类扩展Fragment,另一个类扩展FragmentActivity。其中一个xml文件是容器,另一个是片段。这是我的密码:

public class FragmentClass extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.fragment_layout, container,false);       
    return v;
}
}
下面是我如何将片段添加到布局中:

public class Fragment_Activity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.container_layout);

    FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = fm.findFragmentById(R.id.container_layout_eklenecek_yer);

    if(fragment==null){
        fragment=new FragmentClass();
        fm.beginTransaction().add(R.id.container_layout_eklenecek_yer, fragment).commit();
    }
}
}
这段代码按照我的预期工作,但我的问题是:我在Fragment_Activity类中有一段代码,它说:

fragment=new FragmentClass();
FragmentClass没有构造函数。这里调用的是默认的空构造函数,还是onCreateView用作构造函数?我在这里感到困惑

谢谢

不用了

需要一个带有碎片的默认构造函数,一个不带参数的构造函数是一个“默认构造函数”(这可能是C++术语),因为它允许你构建一个对象,当然。p> 因为Android可能需要RAM或者其他可以杀死你的碎片的东西,它也可能会把它们带回来

如果你将东西传递给构造器,那么当Android操作系统需要重新创建片段时,它将如何知道将东西传递给你?这个问题没有答案

因此是默认构造函数

当重新创建片段时,Android将附加一个活动,您可以使用onActivityAttached(或与之相关的内容,查找片段生命周期)来获取该活动。如果您知道该活动实现/扩展了
任何内容
,则可以将该活动强制转换为
任何内容
,并存储它,无论您需要做什么

onCreateview方法的名称是:被调用的返回视图的对象。当Android需要表示您的片段的视图时,它被调用,它不是一个构造函数,也不需要考虑,或者实际上

没有

需要一个带有碎片的默认构造函数,一个不带参数的构造函数是一个“默认构造函数”(这可能是C++术语),因为它允许你构建一个对象,当然。p> 因为Android可能需要RAM或者其他可以杀死你的碎片的东西,它也可能会把它们带回来

如果你将东西传递给构造器,那么当Android操作系统需要重新创建片段时,它将如何知道将东西传递给你?这个问题没有答案

因此是默认构造函数

当重新创建片段时,Android将附加一个活动,您可以使用onActivityAttached(或与之相关的内容,查找片段生命周期)来获取该活动。如果您知道该活动实现/扩展了
任何内容
,则可以将该活动强制转换为
任何内容
,并存储它,无论您需要做什么


onCreateview方法的名称是:被调用的返回视图的对象。当Android需要表示您的片段的视图时,它被调用,它不是一个构造函数,也不需要考虑,或者实际上

我知道在这种情况下构造函数是什么,但是如果你需要使用这个
public FragmentClass(){//Your code here}
我知道在这种情况下构造函数是什么,但是如果你需要使用这个
public FragmentClass(){//Your code here}
@panpa,欢迎你,记住向上投票(向上箭头)和勾选(勾选):@panpa不客气,记住向上投票(向上箭头)和勾选(勾选):)