我在 ArrayAdapter 上收到错误消息,说该函数不存在

I am getting error on ArrayAdapter saying that function does not exists

class 第三片段:片段(){

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    arguments?.let {
    }
}

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?,
): View? {
    val view2 = inflater.inflate(R.layout.fragment_third, container, false)

    val a = arrayOf("Java","C","C++","Python","Kotlin")
    var l1: ListView = view2.findViewById(R.id.list)

    val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, a)
    l1.adapter = adapter
    
    return view2

这是在“ArrayAdapter”上按 alt+enter 显示的

None 以下函数可以使用提供的参数调用。 (Context, Int, Array<(out) TypeVariable(T)!>) 其中 T = TypeVariable(T) 用于构造函数 ArrayAdapter(context: Context, resource: Int, objects: Array<(out) T !>) 在 android.widget.ArrayAdapter 中定义 (Context, Int, Int) 其中 T = TypeVariable(T) for 构造函数 ArrayAdapter(context: Context, resource: Int, textViewResourceId: Int) 在 android.widget.ArrayAdapter 中定义 (Context, Int, (Mutable)List) 其中 T = TypeVariable(T) 用于构造函数 ArrayAdapter(context: Context, resource: Int, objects: (Mutable)List) 在 android.widget.ArrayAdapter

中定义

该错误告诉您 ArrayAdapter 构造函数的第一个参数需要是上下文,因此将 this 替换为 returns 上下文的内容,例如 requireActivity().

val adapter = ArrayAdapter(requireActivity(), android.R.layout.simple_list_item_1, a)

在此范围内 this 指的是片段,它不是上下文对象。

您可以通过添加一些换行符对该错误消息进行一些分解,使其更易于阅读。它告诉您存在三个具有以下签名的有效构造函数,并且您提供的参数与其中任何一个都不匹配。

None of the following functions can be called with the arguments supplied.

 (Context, Int, Array<(out) TypeVariable(T)!>)   where T = TypeVariable(T) 
  for constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, objects: Array<(out) T!>) 
  defined in android.widget.ArrayAdapter 
  
 (Context, Int, Int)   where T = TypeVariable(T) 
  for constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, textViewResourceId: Int) 
  defined in android.widget.ArrayAdapter 
  
 (Context, Int, (Mutable)List<TypeVariable(T)!>)   where T = TypeVariable(T) 
  for constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, objects: (Mutable)List<T!>) 
  defined in android.widget.ArrayAdapter