java - 将文本编辑为长变量问题?
问题描述
我正在开发一个计时器应用程序,我有一个 EditText 用于获取输入数字,并根据我选择的单选按钮,将输入乘以等于 CountDownTimer 类的 long millisInFuture。但显然将我的 EditText 解析为 long 有问题。这是 RadioGroup 的部分:
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == rdSeconds.getId()) {
et_num.setHint("Seconds");
String value = et_num.getText().toString();
//selectedOption is a long variable
selectedOption = Long.parseLong(value) * 1000;
} else {
et_num.setHint("Minutes");
String value = et_num.getText().toString();
selectedOption = Long.parseLong(value) * 60000; //line 102
}
}
});
这是它给我的错误的一部分?
java.lang.NumberFormatException: For input string: ""
at java.lang.Long.parseLong(Long.java:455)
at java.lang.Long.parseLong(Long.java:485)
at com.example.timemachine.MainActivity$2.onCheckedChanged(MainActivity.java:102)
解决方案
在长解析之前检查您的 editText 是否具有正确的值
String value = et_num.getText().toString();
if(value != null && !value.isEmpty())
{
selectedOption = Long.parseLong(value) * 1000;
}
推荐阅读
- python - 在找到分隔符之前,如何使用 TCP Python 套接字正确接收数据?
- javascript - 错误处理响应:TypeError:无法读取未定义的属性“id”
- python - 如何将数据整理部分或插补部分添加到 sklearn 管道中?
- html - Outlook 不支持 AODA role="main" 类型的东西
- asp.net - 以前曾经访问过 ASP.NET 页面吗?
- python-3.x - 请求 SSL 验证 - 通过 Pyinstaller 创建 exe 时仅使用 Windows 证书存储
- php - wordpress pre_get_posts 未根据类别检索所有帖子
- selenium - 如何在由 selenium 驱动的 firefox/chrome 仍在运行时更改代理?
- android - 如何使 LocalBroadcastManager 足够安全
- java - 如何从输入字符串更新 nativequery 中的大对象列