Android ListView ArrayAdapter in fragment 不起作用



我一直在试图理解为什么它不起作用一段时间,我遵循了几个指南,过程总是相同的。

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

最新更新