【发布时间】:2021-08-23 03:36:15
【问题描述】:
这里是初学者。
我正在尝试使用本指南实现带有图像的微调器;
https://dzone.com/articles/custom-spinner-for-android-application
如果在我的 MainActivity 中实现,我可以正常工作。
当我尝试在我的片段“Fragment1”中实现此功能时出现问题。
初始化微调器的代码如下:
moodSpinner.adapter = MoodArrayAdapter(this, listOf(
Mood(R.drawable.angry, "Angry"),
Mood(R.drawable.happy, "Happy"),
Mood(R.drawable.playful, "Playful"),
Mood(R.drawable.wondering, "Wondering")
)
)
如果该代码在我的 mainactivity.kt 中,并且在 activity_main.xml 中具有 id moodSpinner 的微调器对象,则一切正常。如果我将代码移动到我的 fragment.kt,并将微调器移动到 fragment.xml,它会失败。
我怀疑这个问题与“this”被用作上下文有关。
“java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)'”
我尝试将 'this' 更改为 'this.requireActivity()' 但没有任何变化。
谢谢。
【问题讨论】:
-
发布片段的完整代码和错误堆栈跟踪
标签: android kotlin android-fragments