如何转换 MutableLiveData漂浮?安卓
我目前正在制作一个贷款计算器,它使用 ViewModel 在片段之间存储数据。该应用程序使用 EditText 和 Seekbar,用户可以绘制数据并将其发送到共享 Viewmodel。
当我尝试转换用户输入的字符串时,我很难将数据转换为浮点值,以便我可以用它来计算贷款计划。
有谁知道该怎么做?
从编辑文本输入 LoanNumber:AnnuitetViewModel.kt
private var _loanNumber = MutableLiveData<Float>()
val loanNumber: LiveData<Float>
get() = _loanNumber
fun saveLoanNumber(newLoanNumber: Float){
_loanNumber.value = newLoanNumber
}
AnnuitetFrament.kt
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.lifecycleOwner = this
viewModel = ViewModelProvider(this)[AnnuitetViewModel::class.java]
binding.viewmodel = viewModel
AnnuitetViewModel.loanNumber.observe(viewLifecycleOwner){
binding.laanebelop.text
}
}
binding.BeregnLaanAnnuitet.setOnClickListener {
AnnuitetViewModel.saveLoanNumber(binding.laanebelop.text.toString())
findNavController().navigate(R.id.action_annuitetFragment_to_annuitetPlanFragment)
}
片段:annuitet.xml:
<EditText
android:id="@+id/laanebelop"
android:layout_width="196dp"
android:layout_height="56dp"
android:autofillHints=""
android:ems="10"
android:hint="@string/hint"
android:inputType="numberDecimal"
android:text=""
android:textColorHint="#757575"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.73"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.248" />
I am currently making a Loan Calculator that uses ViewModel to store data between fragments. The app uses EditText and Seekbar user can plot in data and sends it to a shared Viewmodel.
When I try to convert string input from user, I struggle to convert the data into Float value so I can use it to calculate the loan plan.
Do anyone know how to do this?
Input LoanNumber from Edit Text: AnnuitetViewModel.kt
private var _loanNumber = MutableLiveData<Float>()
val loanNumber: LiveData<Float>
get() = _loanNumber
fun saveLoanNumber(newLoanNumber: Float){
_loanNumber.value = newLoanNumber
}
AnnuitetFrament.kt
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.lifecycleOwner = this
viewModel = ViewModelProvider(this)[AnnuitetViewModel::class.java]
binding.viewmodel = viewModel
AnnuitetViewModel.loanNumber.observe(viewLifecycleOwner){
binding.laanebelop.text
}
}
binding.BeregnLaanAnnuitet.setOnClickListener {
AnnuitetViewModel.saveLoanNumber(binding.laanebelop.text.toString())
findNavController().navigate(R.id.action_annuitetFragment_to_annuitetPlanFragment)
}
fragment:annuitet.xml:
<EditText
android:id="@+id/laanebelop"
android:layout_width="196dp"
android:layout_height="56dp"
android:autofillHints=""
android:ems="10"
android:hint="@string/hint"
android:inputType="numberDecimal"
android:text=""
android:textColorHint="#757575"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.73"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.248" />
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决它。通过使用 Transformation.map 我可以将 String 更改为 Float。然后我就可以继续计算贷款计划了。
Solve it. By using Transformation.map I could change String to Float. Then I can move on to calculate the loan plan.