我正在创建一个片段并将其添加到使用 java 代码的布局中。为此,我创建了 2 个类和 2 个布局。其中一个类扩展了 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 用作构造函数?我在这里很困惑。
谢谢