package com.example.samsung.myapplication
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
根据开发人员文档,当我重写Activity类的回调函数时,必须通过超类实现进行调用。
这是我的两个问题:
在初始化Activity之后可以回调超类方法吗? 你能告诉我原因吗? 例如) setContentView(....) .... view.adapter = ...(只猜上面有几个代码) super.onCreate(...)
超类中onCreate的主要功能是什么?
答案 0 :(得分:1)
在初始化Activity之后可以回调超类方法吗?你能告诉我原因吗?例如)setContentView(....).... view.adapter = ...(只是上面有几个代码)super.onCreate(...)
否,因为在调用super.onCreate()
之前大多数对Android API的调用都会失败,并会发生异常,因为mCalled
尚未设置为true(请参阅Activity source code作为参考)
超类中onCreate的主要功能是什么?
要了解onCreate()
的功能,您应该了解Activity lifecycle及其在其中的作用。
答案 1 :(得分:0)
onCreate
是在调用活动时被调用的方法。在此方法中,您可以定义要加载的布局(例如),并初始化例如视图。总而言之,此方法会创建一个视图
在编写view.adapter时,您调用对 view 实例的引用。在大多数情况下,您会分段调用view
以例如设置布局或再次初始化视图。
请注意,在“活动”中,我们将覆盖onCreate
,在“片段”中,我们调用onCreateView
,然后返回View
。
作为超类,我们是指我们在编写时覆盖的类,并且如果您想在大多数情况下创建活动,则必须扩展AppCompatActivity()
(在Kotlin中,括号是在声明活动名称后添加冒号来扩展的,例如{{ 1}})
我不知道这是否是您问题的正确答案,因为我根本听不懂。希望对您有帮助。如果您对超类等有任何疑问,可以通过easilly Google对其进行查询,在大多数情况下,您将获得easilly的答案。