lateinit property textInput has not been initialized
class MainActivity : BaseActivity() {
private val drawerToggle by lazy { ActionBarDrawerToggle(this, drawer_layout, drawer_open, drawer_close) }
private val survivalContent by lazy { SurvivalContent(assets) }
private lateinit var currentUrl: String
private lateinit var currentTopicName: String
private lateinit var textInput: MutableList<String>
private var lastFontSize = State.getFontSize()
private var lastNightMode = State.nightModeString()
private var lastAllowSelect = State.allowSelect()
private val linearLayoutManager by lazy { LinearLayoutManager(this) }
private var isInEditMode by observable(false, onChange = { _, _, newMode ->
if (newMode) {
fab.setImageResource(drawable.ic_image_remove_red_eye)
contentRecycler.adapter = EditingRecyclerAdapter(textInput)
} else {
fab.setImageResource(drawable.ic_editor_mode_edit)
contentRecycler.adapter = MarkdownRecyclerAdapter(textInput, imageWidth(), onURLClick)
}
contentRecycler.scrollToPosition(State.lastScrollPos)
})
因为我是android开发新手,所以我不知道如何在使用lateinit变量之前初始化它。在此之前,我尝试过执行Git子模块更新
,就像这个github中提到的,但没有成功。所以现在我希望问题出在初始化textInput变量上。
在使用textinput
变量之前,必须对其进行初始化。为此,您可以这样做:
textInput = mutableListOf("Abc", "Xyz")
docs:在lateinit属性初始化之前访问该属性会引发一个特殊的异常,该异常清楚地标识了正在访问的属性以及该属性尚未初始化的事实。
阅读更多内容:https://kotlinlang.org/docs/reference/properties.html#late-initialized-properties-and-variables
我正在将一个项目从java迁移到kotlin,该项目使用了许多可能为空的变量,并且在与用户或外部作业进行一些交互之前不会初始化它们。 我试图使用kotlin null安全优势,并且我试图避免在源代码中使用<code>nulllateinitvar location:location?=空 我这样做是为了避免使用< code >?每次我需要使用这些变量时。现在的问题是...如果变量没有初始化会发生什
我想知道是否有一种方法可以检查变量是否已经初始化。例如:
我想知道是否有办法检查变量是否已初始化。例如:
我有一个应用程序,大部分时间都在启动,但每7次左右启动它就会崩溃,出现错误: 我引用了这个,但最终出现了类似的错误 IndexOutOfBoundsException:空列表不包含索引1上的元素。 编辑2 null ViewModel
我试图在方法中为我的testNG测试延迟init变量(服务),如下所示: 我的测试如下所示:
我不知道这是怎么回事 主要活动 我遇到了这个问题 2022-03-18 09:18:27.393 13874-13874/com。实例githubuser2 E/AndroidRuntime:致命异常:主进程:com。实例githubuser2,PID:13874 java。lang.RuntimeException:无法启动活动组件信息{com.example.githubuser2/com.e