public class MyCustomLayout extends LinearLayout {
public MyCustomLayout(Context context) {
super(context);
// Inflate the view from the layout resource and pass it as child of mine (Notice I'm a LinearLayout class).
LayoutInflater.from(context).inflate(R.layout.child_view, this, true);
}
}
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment fragment = fragmentManager.findFragmentById(R.id.root_viewGroup);
if (fragment == null) {
fragment = new MainFragment();
fragmentManager.beginTransaction()
.add(R.id.root_viewGroup, fragment)
.commit();
}
因此,当我使用< em > attachToRoot < / em >为真时,返回的视图类型为< em > ViewGroup < / em >,即父的根ViewGroup,它作为< em >膨胀(layoutResource、ViewGroup attachToRoot) < / em >方法的参数传递,而不是传递的布局类型,而是在< em > attachToRoot < / em >上作为假,我们得到了该layoutResource的根< em > ViewGroup < / em >的函数返回类型。
让我用一个例子来解释:
如果我们有一个LinearLayout < em > < / em >作为< em > < / em >根布局,然后我们想通过< em > < /膨胀em >函数在其中添加< em > TextView < / em >。
然后使用< em > attachToRoot < / em >作为真正< em > < / em >膨胀函数返回类型为LinearLayout < em > < / em >的< em > < / em >视图
而在使用< em > attachToRoot < / em >作为< em >假< / em >膨胀函数时,返回类型为< em > TextView < / em >的< em > < / em >视图