首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

setContentView()正在初始化,而不是调用

setContentView()是Android开发中的一个方法,用于设置当前Activity的布局文件。它的作用是将指定的布局文件加载到当前Activity中进行显示。

在Android开发中,每个Activity都需要一个布局文件来定义其界面的样式和组件的摆放位置。setContentView()方法就是用来指定这个布局文件的。

该方法的调用通常发生在Activity的onCreate()方法中,用于在Activity创建时设置其布局。通过调用setContentView()方法,开发者可以将一个XML布局文件与Activity关联起来,从而实现界面的展示。

setContentView()方法的参数可以是布局文件的资源ID,也可以是一个View对象。当参数为资源ID时,系统会自动将该资源ID对应的布局文件加载并显示在当前Activity中;当参数为View对象时,系统会直接将该View对象显示在当前Activity中。

使用setContentView()方法可以实现灵活的界面布局,使得开发者可以根据需求动态地切换和更新界面。同时,它也是Android开发中常用的一个方法,几乎在每个Activity的onCreate()方法中都会调用。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mmp
  • 腾讯云云原生应用引擎:https://cloud.tencent.com/product/tke
  • 腾讯云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器:https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网:https://cloud.tencent.com/product/iot
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

STL:调用empty()不是检查size()是否为0

在日常开发中,出于个人习惯,并不会特别在意非要调用哪一种。 《Effective STL》给出的建议是,调用empty()。 为什么呢?...size()返回的是内部维护的私有变量M_element_count。 我没有再查看其他容器的实现,上述列出的容器几乎代表所有stl容器类型。...那么size()的实现就不是常数时间了吗? 上面可以看到,array,set,unordered_set都是内部维护了一个私有成员变量size,其各个改变容器成员大小的成员函数都会更新这个size。...《Effective C++》这一节所强调的,正是stl中各个容器设计时关于empty()函数与别的成员函数之间的性能取舍问题。当然,如上所述,性能优劣并不是绝对的,取决于各家编译器的实现。...所以,如果在开发中遇到需要判断容器是否为空的时候,推荐大家使用empty(),不是判断size() == 0。

1.1K20

Android之View的诞生之谜

作为一名正在岗位上的Android开发者,工作中常常需要我们使用自定义View去实现一些天马行空的效果,作为一名正在寻找工作的Android开发者而言,面试过程中自定义View的相关知识点也是热门的面试题目之一哦...我们接着看 getWindow().setContentView(layoutResID); 在渲染我们的布局文件前,先调用了installDecor()来初始化mContentParent,之前也说mContentParent...是负责加载我们页面内容的容器,到底是不是呢?...总结 通过上面内容,我们学到了一些小技巧,如移除状态栏的一些步骤,之前我们可能知道,嗯,是的,要在setContentView调用requestFeature才可以,通过这次分析,我们之前可能是知道要这样子做才行...是不是写起代码来更踏实了呢?

37630

关于setContentView方法

(View view) 实际上是调用setContentView(View view, ViewGroup.LayoutParams params),默认布局参数为铺满布局。...因为系统在初始化 PhoneWindow 的时候,调到三个参数的方法,所以 mUseDecorContext 为 ture,此时我们的 applicationContext 是不为 null 的,所以最后等到的上下问即是一个持有当前上下文和全局上下文的...的真实大小一样;然而实际上这些属性是用于设置View在ViewGroup布局中的大小的;这就是为什么Google的工程师在变量命名上将这种属性叫作 layout_width 和 layout_height,不是...A:通过上面的分析我们知道,主题等配置都在 setCotentView 方法里面, 所以如果我们在setContentView之后设置,是不会被调用的。...当 root 不为 null 时, attachToRoot 为 true 就是调用 root.addView() 去添布局,此时 root 得是ViewGroup,否则会报错;当 attachToRoot

40550

Android完美解析setContentView 你真的理解setContentView吗?「建议收藏」

(); } 点进来之后我们发现它里边调用了getWindow.setContentView,我们点击getWindow看看里面是什么!...上面,我们在点击了重填按钮后,我们的setContentView使用的是老大,即setContentView(int id),回想刚才我们分析的源码,老大是通过反射拿到我们的view,每次反射拿到的view...都不是同一个view,也就是说我们在onCreate中setContentView(R.layout.activity_main)和在点击了重填后setContentView(R.layout.activity_main...我们给原来的bt_ok设置了监听器,新的View的bt_ok是没有设置过监听器的,所以点击是没有效果的!说了这么多!有很多重复的话,就是为了给说明白这件事!这个就是老大与老二老三的不同之处!!...放到initViews里面去调用 initViews(); //注册监听器 registerListeners(); //初始化当前布局为填写表单布局

1.2K30

Activity 的 Window 创建过程

调用mWindow = new PhoneWindow(this, window, activityConfigCallback);进行初始化操作; Activity中有一个成员为Window,其实例化对象为...Activity根据他们不同职能,并且与他们相互配合像我们展示灵活与精致的界面 View如何与Activity进行关联 View并不是直接与Activity关联,而是通过Window这个中间人,Window...让View与Window关联,Activity与Window关联 总结 Activity包含一个PhoneWindow,PhoneWindow继承Window,Activity通过setContentView...(R.layout.activity_test_event); 最后调用的是Activity的setContentView方法 public void setContentView(@LayoutRes...返回的是window对象,window是抽象方法由PhoneWindow实现,所以调用是PhoneWindow的setContentView方法 public void setContentView(

68730

Android 源码解析 之 setContentView「建议收藏」

从这里就能看出来mContentParent是个ViewGroup且包裹我们整个布局文件;installDecor()估计就是去初始化我们这个mContentParent,一会我们会去验证。...当然了这里不是我们的关键,因为我们的setContentView里面只是回调了onContentChanged,onContentChanged在Activity中是空实现。...可以看到这里不仅初始化mContentParent,而且在之前先调用generateDecor();初始化了一个mDecor,mDecor是DecorView对象,为FrameLayout的子类。...那么我觉得,在初始化mDecor的方法 generateDecor()中,一定为我们的mDecor放入了布局或者控件(最简单的就是使用inflate压入了布局文件),mContentParent可能就是...是不是这样呢?

31010

Activity、View、Window的理解一篇文章就够了

来个最简单的,setContentView其实就让View与Window关联,Window跟Activity关联起来了。 那setContentView不是View跟Activity关联吗?...是不是前面提及PhoneWindow? ? ? 真的是PhoneWindow,在 attach 的时候执行了PhoneWindow的初始化。...那么其实 setContentView 实际上是调用的 getWindow().setContentView。 PhoneWindow是个什么东西?...首先AlertDialog是继承Dialog的,mWindow就是Dialog里面初始化的对象,看看是不是PhoneWindow,如果是,那么就可以猜到通过在PhoneWindow添加View就可以在Activity...Activity包含了一个PhoneWindow,PhoneWindow就是继承于Window的,Activity通过setContentView将View设置到了PhoneWindow上,View

72910

Android之Activity生命周期浅析(一)「建议收藏」

当我们在开发中创建Activity后,通过调用setContentView(View)方法来给该Activity指定一个布局界面,而这个界面就是提供给用户交互的接口。...onCreate : 该方法是在Activity被创建时回调,它是生命周期第一个调用的方法,我们在创建Activity时一般都需要重写该方法,然后在该方法中做一些初始化的操作,如通过setContentView...设置界面布局的资源,初始化所需要的组件信息等。...当然从流程图,我们也可以看出当Activity停止后(onPause方法和onStop方法被调用),重新回到前台时也会调用onResume方法,因此我们也可以在onResume方法中初始化一些资源,比如重新初始化在...小结:到这里我们来个小结,当Activity启动时,依次会调用onCreate(),onStart(),onResume(),当Activity退居后台时(不可见,点击Home或者被新的Activity

44610

Android自动化页面测速在美团的实践

现有解决方案 手动在 Application.onCreate() 中进行SDK的初始化调用,同时计算冷启动时间。 ? Activity.setContentView() ?...更重要的一点是,我们将该配置文件维护在服务端,可以实时更新,客户端要做的只是在插件SDK初始化时拉取最新的配置文件即可。...另外还维护了一个当前页面对象的 MAP ,key为一个int值不是其类名,因为同一个类可能有多个实例同时在运行,如果存为一个key,可能会导致同一页面不同实例的测速对象只有一个...初始化埋点 在 Transform 中遍历所有生成的class文件,找到Application对应的子类,在其 onCreate() 方法中调用SDK初始化API即可。...这里主要说下 onCreateView() ,这个方法是返回值代表根View,不是直接传入View,Javassist无法单独修改方法的返回值,所以无法像Activity的setContentView

61930

手把手教你读懂源码,View的加载流程详细剖析

这样分析Activity中的 setContentView 方法可以看到,界面绘制并不是由 Activity 完成的,是调用了 Window 类的 setContentView 来实现的。...PhoneWindow类的setContentView方法 从源码可以知道,这里主要包括三个步骤: 如果父容器为空则初始化父容器,否则移除所有子视图; 调用LayoutInflater类的inflate...现在只是完成了DecorView的创建并初始化,我们还需要把这个创建并初始化完DecorView添加并显示到屏幕上,这里我们就需要用到WindowManager。...attach和create调用 这里是不是看到了非常熟悉的方法,就是我们前面看到的Activity类的attach()方法。...就是在attach方法里面初始化PhoneWindow对象的。 后面调用了Instrumentation类的callActivityOnCreate方法,源代码如下: ?

92690

Android高频面试专题 - 提升篇(一)Window、View、Activity

()发生了什么 Activity中setContentView()后实际通过getWindow().setContentView()交由PhoneWindow处理,PhoneWindow中主要做两件事,...通过installDecor()初始化mDecor(DecorView)和generateLayout()来初始化mContentParent(ViewGroup), 然后通过inflate将我们的setContentView... PhoneWindow 将DecorView作为了一个应用窗口的根View,这个DecorView 又把屏幕划分为了两个区域:一个是 TitleView,也就是ActionBar或者TitleBar...View的子类也不是View的父类,但它实现了ViewParent接口,所以可以作为名义上的View的父视图。...WindowManager交互 13、Dialog的Window创建过程 创建Window——同样是通过PolicyManager的makeNewWindow方法完成,与Activity创建过程一致 初始化

2.3K20
领券