Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 微调器未更新_Android_Kotlin_View_Spinner - Fatal编程技术网

Android 微调器未更新

Android 微调器未更新,android,kotlin,view,spinner,Android,Kotlin,View,Spinner,我有一个必须动态填充的微调器。当我从API调用返回数据时,我的演示者调用视图并在其上设置我的数据。此时,我希望我的微调器会更新并显示我的值,但事实并非如此。以下是我的看法: class MyCustomView( private val fragmentContext: Context, private val fragment: ContainerFragment ) : ICustomView, FrameLayout(fragmentContext) { init

我有一个必须动态填充的微调器。当我从API调用返回数据时,我的演示者调用视图并在其上设置我的数据。此时,我希望我的微调器会更新并显示我的值,但事实并非如此。以下是我的看法:

class MyCustomView(
    private val fragmentContext: Context,
    private val fragment: ContainerFragment
) : ICustomView, FrameLayout(fragmentContext) {

    init {
        View.inflate(context, R.layout.my_custom_view, this)

        val activity = fragment.activity as AppCompatActivity
        activity.setSupportActionBar(my_toolbar)
    }

    override fun getView(): View {
        return this
    }

    override fun setData(uiModel: UiModel) {
        val adapter = ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, uiModel.data)
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
        adapter.notifyDataSetChanged()
        catalogue_volume_size_spinner.adapter = adapter
    }
}
类MyCustomView(
private val fragmentContext:Context,
私有val片段:ContainerFragment
):ICustomView,FrameLayout(fragmentContext){
初始化{
视图.充气(上下文,R.layout.my_自定义视图,此)
val activity=fragment.activity作为AppCompatActivity
activity.setSupportActionBar(我的工具栏)
}
覆盖getView():视图{
还这个
}
覆盖数据集(uiModel:uiModel){
val adapter=ArrayAdapter(上下文,android.R.layout.simple\u列表\u项,uiModel.data)
adapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项)
adapter.notifyDataSetChanged()
目录\音量\大小\微调器.adapter=适配器
}
}

如果我也这样做,但在构造函数的
init
块中,它会工作(原因未知)。问题是我在施工时没有准备好数据。所有其他功能均按预期工作,但此微调器不工作。

设置微调器适配器后通知?已尝试,但无效。您确定uiModel.data包含有效项吗?@dominicoder是。我尝试过很多事情,一切都是正确的。数据就在那里,只是一个简单的字符串列表。即使我在
init
block之后创建了一个静态数据列表,它也不起作用。您是否仔细阅读了源代码,看看在请求之后在init vs上设置数据时会发生什么?您是否有一个复制您可以分享的问题的示例项目?如果你这样做,我可以调查。