以下是xml:welcome_view.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white" >
<ImageView
android:id="@+id/welcome_bg"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.demo.src.WelcomeLayout
android:id="@+id/welcome_ad"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
这是MainActivity,我的setContentView布局为welcome_view.xml。
class MainActivity extends Activity
{
onCreate()
{
setContentView(R.layout.welcome_view);
ViewGroup view1 = findViewByID(R.id.ad_view);
}
}
WelcomeLayout已包含在welcome_view.xml中。请告诉我以下课程中的观点与上面的课程不同???为什么,告诉我一些内在的机制。
class WelcomeLayout extends FrameLayout
{
onCreate()
{
super(context);
View.inflate(context, R.layout.welcome_view, null);
ViewGroup view2 = findViewById(R.id.ad_view);
}
}
谢谢!
答案 0 :(得分:0)
参考:Difference between setContentView and LayoutInflater
setContentView仅是一种Activity方法。每个Activity都提供了一个带有ID&#34; @ + id / content&#34;的FrameLayout; (即内容视图)。您在setContentView中指定的任何视图都将是该Activity的视图。请注意,您还可以将视图实例传递给此方法,例如setContentView(new WebView(this));您正在使用的方法版本将在幕后为您充气。
另一方面,有一个名为onCreateView的生命周期方法,它返回一个视图(如果有的话)。最常见的方法是用XML扩展视图并在此方法中返回它。在这种情况下,你需要自己充气。片段没有&#34; setContentView&#34;方法
注意:链接可能会被破坏,因此请回答粘贴。