片段中的 Android ListView ArrayAdapter 不起作用
Posted
技术标签:
【中文标题】片段中的 Android ListView ArrayAdapter 不起作用【英文标题】:Android ListView ArrayAdapter in fragment not work 【发布时间】:2020-08-30 20:44:09 【问题描述】:我一直试图理解为什么它有一段时间不起作用,我已经遵循了几个指南并且程序总是相同的。
ArrayAdapter 部分返回一个与上下文相关的错误:
Screenshot with ArrayAdapter Error
我认为问题可能与片段有关,但我无法解决。我的目标是尝试将数组添加到列表视图中
menuFragment.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
tools:context=".MenuFragment">
<ListView
android:id="@+id/list_menu"
android:layout_
android:layout_
/>
</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
【问题讨论】:
【参考方案1】:this
引用 Fragment
,您应该在 ArrayAdapter 构造函数中使用 Context
。
您可以从getActivity()
获取上下文或将其传递给MenuFragment
【讨论】:
以上是关于片段中的 Android ListView ArrayAdapter 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
片段中的 Android ListView ArrayAdapter 不起作用
片段中的Android ListView - 获取新数据后刷新表的问题