Android 从Kotlin中的片段在中声明意图时出错:
我试图创建一个意图,它使用主活动片段中的一个按钮来打开一个新活动。错误弹出,在“意图”对象下面加一条红线。错误是: 使用提供的参数无法调用以下函数。 (Context!,Class!)在android.content.Intent中定义 在android.content.Intent中定义的(字符串,Uri!) 我尝试了以下代码Android 从Kotlin中的片段在中声明意图时出错:,android,android-intent,kotlin,Android,Android Intent,Kotlin,我试图创建一个意图,它使用主活动片段中的一个按钮来打开一个新活动。错误弹出,在“意图”对象下面加一条红线。错误是: 使用提供的参数无法调用以下函数。 (Context!,Class!)在android.content.Intent中定义 在android.content.Intent中定义的(字符串,Uri!) 我尝试了以下代码 val fieldIntent = Intent(this@Fragment1, ProductsAndInputs::class.java ) 而不是首字母 val
val fieldIntent = Intent(this@Fragment1, ProductsAndInputs::class.java )
而不是首字母
val fieldIntent = Intent(this, ProductsAndInputs::class.java )
基于另一个论坛上提供的答案,但它也不起作用
class Fragment1 : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view: View = inflater!!.inflate(R.layout.fragment_fragment1, container, false)
view.btn_field.setOnClickListener { view ->
val fieldIntent = Intent(this@Fragment1, ProductsAndInputs::class.java )
Log.i("Button clicked", "Field button")
}
return view
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
}
}
您需要添加此代码
val fieldIntent=Intent(this@Fragment1,ProductsAndInputs::class.java)
startActivity(fieldIntent)问题是Intent构造函数需要一个上下文,但您正在向它传递一个片段。但您可以从片段中获取上下文:尝试以下操作:
val fieldIntent = Intent(this@Fragment1.context, Products...
哦,正如Ajay所说,你也需要称之为星际触觉