我的申请中有两篇社论。当我开始在这两个编辑器中的任何一个中写一个值时,我想在另一个编辑器中看到结果。但是,当我开始在任何编辑中键入值时,都会出现一个错误。
private fun initListener() {
var money = 0.0
binding.apply {
monayValueEditText1.addTextChangedListener {
val money1position = moneyValueSpinner1.selectedItemPosition
val money2position = moneyValueSpinner2.selectedItemPosition
money = if (it!!.isEmpty()) 0.0 else
it.toString().toDouble()
val result =
((currencyList[money1position].ForexBuying!! / currencyList[money1position].Unit!!.toDouble()) * money) / currencyList[money2position].ForexBuying!! / currencyList[money2position].Unit!!.toDouble()
monayValueEditText2.setText(DecimalFormat("##.####").format(result).toString())
}
monayValueEditText2.addTextChangedListener {
money = if (it!!.isEmpty()) 0.0 else
it.toString().toDouble()
val money1position = moneyValueSpinner1.selectedItemPosition
val money2position = moneyValueSpinner2.selectedItemPosition
val result =
((currencyList[money2position].ForexBuying!! / currencyList[money2position].Unit!!.toDouble()) * money) / currencyList[money1position].ForexBuying!! / currencyList[money1position].Unit!!.toDouble()
monayValueEditText1.setText(DecimalFormat("##.####").format(result).toString())
}
}
}我得到的错误信息是
xt(TextView.java:6147)
at android.widget.EditText.setText(EditText.java:121)
at android.widget.TextView.setText(TextView.java:6099)
at com.metoer.ceptedovizborsa.view.fragment.CallculationCurrencyFragment$initListener$lambda-3$$inlined$addTextChangedListener$default$2.afterTextChanged(TextView.kt:104)
at android.widget.TextView.sendAfterTextChanged(TextView.java:10602)
at android.widget.TextView.setText(TextView.java:6328)
at android.widget.TextView.setText(TextView.java:6147)
at android.widget.EditText.setText(EditText.java:121)
at android.widget.TextView.setText(TextView.java:6099)发布于 2022-10-17 21:12:54
如果您只对获得两个协同工作的EditText感兴趣,我想您可以在双向数据库中使用双向数据库方式,而将文本保存在ViewModel中。
<layout ...>
<data>
<variable
name="viewModel"
type="com.mypackage.MyViewModel"
</data>
...
<EditText
android:id="@+id/monayValueEditText1"
android:text="@={viewModel.text}"
... />
<EditText
android:id="@+id/monayValueEditText2"
android:text="@={viewModel.text}"
... />
</layout>https://stackoverflow.com/questions/74102877
复制相似问题