我一直在试图理解为什么它不起作用一段时间,我遵循了几个指南,过程总是相同的。
ArrayAdapter 部件返回与上下文相关的错误:
带有阵列适配器错误的屏幕截图
我认为问题可能与片段有关,但我无法解决。我的目标是尝试将数组添加到列表视图
菜单片段.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MenuFragment">
<ListView
android:id="@+id/list_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
MenuFragment.kt
class MenuFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val view: View = inflater.inflate(R.layout.fragment_menu, container, false)
val arrayAdapter: ArrayAdapter<*>
val menuItems = arrayOf("wine", "beer", "pizza", "steak", "chicken")
var mListView = list_menu
arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, menuItems)
mListView.adapter = arrayAdapter
return view
}}
this
引用Fragment
,你应该在ArrayAdapter构造函数中使用Context
。
您可以从getActivity()
获取上下文或将其传递给MenuFragment