Android Kotlin开发SplashScreen启动页Intent跳转代码标红报错如何解决
问题解决办法
错误原因
- 上下文引用非法:你当前在
SplashScreen类中编写逻辑,不存在this@MainActivity的作用域标签,该错误会触发IDE的连锁语法校验异常,表现为后续MainActivity::class.java中的java部分标红。 - 若修正上下文后仍有标红,属于Android Studio缓存异常,执行清理重建即可。
修复步骤
- 将Intent构造的第一个参数替换为当前SplashScreen的上下文引用
- 若仍报错,依次点击顶部菜单栏
Build → Clean Project,执行完成后再点击Build → Rebuild Project
修正后完整代码
package com.example.textnav import android.content.Intent import android.os.Bundle import android.os.Handler import androidx.appcompat.app.AppCompatActivity class SplashScreen : AppCompatActivity() { private val SPLASH_TIME_OUT = 3000L override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_splash_screen) Handler().postDelayed( { // 仅修改这一行的上下文引用即可 val i = Intent(this@SplashScreen, MainActivity::class.java) startActivity(i) finish() }, SPLASH_TIME_OUT ) } }
内容的提问来源于stack exchange,提问作者Naceri Anes
相关产品推荐
相关产品推荐

