Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin意图语法错误_Android_Android Intent_Kotlin - Fatal编程技术网

Android Kotlin意图语法错误

Android Kotlin意图语法错误,android,android-intent,kotlin,Android,Android Intent,Kotlin,我正试图在Android Studio的Kotlin中设置意图,以启动另一个活动。kt: val i : Intent = Intent(this, MainActivity::class.java) Android Studio向我显示了一个错误,它无法编译: Error:(23, 26) None of the following functions can be called with the arguments supplied: public constructor Intent(

我正试图在Android Studio的Kotlin中设置
意图
,以启动另一个
活动。kt

val i : Intent = Intent(this, MainActivity::class.java)
Android Studio向我显示了一个错误,它无法编译:

Error:(23, 26) None of the following functions can be called with the arguments supplied: 
public constructor Intent(p0: Context!, p1: Class<*>!) defined in android.content.Intent 
public constructor Intent(p0: String!, p1: Uri!) defined in android.content.Intent
Error:(23,26)使用提供的参数无法调用以下函数:
在android.content.Intent中定义的公共构造函数Intent(p0:Context!,p1:Class!)
在android.content.Intent中定义的公共构造函数Intent(p0:String!,p1:Uri!)

我认为语法是正确的,那么有什么不对呢?

你应该这样写:
vali:Intent by lazy{Intent(this,MainActivity::class.java)}

vali=Intent(this@MainActivity,Activity::class.java)

您应该使用包上下文,如下所示:

val intent = Intent(this@LoginActivity,MainActivity::class.java)
           startActivity(intent)

谢谢。

这是
上下文类型的
?这行代码是在哪里写的?在女巫班?用什么方法?这是最高级别的声明?请不要复制整节课,而是复制相关部分。我发现错误-this@MainActivity是否正确=意图(this@MainActivity,Activity::class.java),这将给出与原始问题中完全相同的编译错误。你的回答没有真正的帮助。是的,如果
这不是工作sol的
上下文的实例。但是,您能解释一下为什么我们需要在语句末尾追加
.java
。@Ravi Vaniya(据我所见)。java是文件JvmClassMapping.kt中的kotlin方法。/***返回与给定[KClass]实例对应的Java[Class]实例。*/'@Suppress(“UPPER_BOUND_Villected”)public val KClass.java:Class@JvmName(“getJavaClass”)get()=(这是ClassBasedDeclarationContainer)。jClass as Class’因此,Intent可能需要一个java类,而不是kotlin类。好的,好的,明白了。Thx@kamilp