如何解决与动态填充微调器的对象和设置位置比较
我有一个“项目”添加/编辑片段,其中有一个Spinner,其中装有来自数据库调用的联系数据(因此条目不固定)。
在创建新项目时,此方法效果很好-使用如下所示的数据绑定(android:entries)将联系人从viewModel(“ Contact”对象的ArrayList )加载到Spinner中。>
<Spinner
android:id="@+id/projectAddEditProjectContact1Spinner"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:entries="@{viewModel.currentSiteContactsList}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/projectAddEditProjectContactsHeadingText" />
但是当此表单中填充了现有数据时,我需要将Spinner设置为正确的联系人,并将该项目的Contact对象与Spinner中的Contact对象列表进行比较。
如下所示,我试图在onCreateView中执行此操作,但收效甚微:
override fun onCreateView(inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?): View? {
Log.d(TAG,"onCreateView()")
activity?.let {
businessViewModel = ViewModelProvider(it).get(BusinessViewModel::class.java)
Log.d(TAG,"businessViewModel = $businessViewModel")
}
binding = DataBindingUtil.inflate(inflater,R.layout.project_add_edit_fragment,container,false)
binding.apply {
projectAddEditOverflowOptionsMenuButton.setOnClickListener{
showPopUp(it)
}
projectAddEditSaveButton.setOnClickListener {
Log.d(TAG,"projectAddEditSaveButton Clicked!")
saveProject()
}
this.viewModel = businessViewModel
projectAddEditProjectContact1Spinner // compare the current contact with Spinner entries and set to this position!
}
return binding.root
}
希望这很清楚!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。