java - Progam Stopped while the condition running
问题描述
if (TextUtils.isEmpty(value)){
Toast.makeText(this, "Silahkan Isi Jumlah", Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
the specific code
btnharga.setOnClickListener {
if (spinner.selectedItem.toString().equals("Ukuran")){
Toast.makeText(this, "Silahkan Isi Ukuran", Toast.LENGTH_SHORT).show()
}
else if (spinner.selectedItem.toString().equals("44")){
if (spinner2.selectedItem.toString().equals("Jenis Laminasi")){
Toast.makeText(this, "Silahkan Isi Laminasi", Toast.LENGTH_SHORT).show()
}
else if (spinner2.selectedItem.toString().equals("Glossy")){
val total : Int
val totall : String
val value = editText.getText().toString()
val finalValue = Integer.parseInt(value)
if (TextUtils.isEmpty(value)){
Toast.makeText(this, "Silahkan Isi Jumlah", Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
else if (finalValue < 5){
total = finalValue * 3500
totall = total.toString()
editText2.setText(totall)
spinner.isEnabled = false
spinner2.isEnabled = false
editText.isEnabled = false
editText2.isEnabled = false
}
why my application force closed when this program is run ??
The erorr Log
E/AndroidRuntime: FATAL EXCEPTION: main
Process: app.inisiator.com, PID: 4717
java.lang.NumberFormatException: For input string: ""
at java.lang.Integer.parseInt(Integer.java:620)
at java.lang.Integer.parseInt(Integer.java:643)
at app.inisiator.com.RequestPinActivity$onCreate$1.onClick(RequestPinActivity.kt:83)
at android.view.View.performClick(View.java:6310)
at android.view.View$PerformClick.run(View.java:24970)
at android.os.Handler.handleCallback(Handler.java:794)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6662)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
解决方案
发生此问题是因为您尝试解析无法解析为整数的字符串(空字符串)。
将Integer.parseInt
命令移动到下方检查文本是否为空
并记住在从文本中解析数字时捕获 NumberFormatException
if (TextUtils.isEmpty(value)){
Toast.makeText(this, "Silahkan Isi Jumlah", Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
try {
val finalValue = Integer.parseInt(value)
if (finalValue < 5){
total = finalValue * 3500
totall = total.toString()
editText2.setText(totall)
spinner.isEnabled = false
spinner2.isEnabled = false
editText.isEnabled = false
editText2.isEnabled = false
}
} catch (ex: NumberFormatException) {
//Add log for parsing error of do something else
}
推荐阅读
- reactjs - 为什么无法在 redux-saga 生成器中捕获错误?
- mongodb - MongoDB $set 合计
- python - 使用列中的信息(键)更改 Pandas 中的索引名称
- python - 烧瓶 url_for 在 docker/docker-compose 下没有组成正确的 url
- symfony - 处理多级角色
- javascript - 如何防止移动设备上的 YouTube IFrame JavaScript API 自动全屏?
- javascript - 单击页面上的其他任何内容后,应列出编辑按钮输入
- hibernate - 更新多对多映射时访问字段时出错
- python - 未能在psychopy中附加变量
- latex - tikzpicture - 将堆积条形图与 y 轴对齐,ymin=0