[英]EditText with negative number and TextWatcher
输入负整数到我的EditText中时遇到问题,出现错误09-12 06:26:42.025: E/AndroidRuntime(18247): java.lang.NumberFormatException: Invalid int: "-"
xml文件:
<EditText
android:id="@+id/downAndDistanceStarting"
android:layout_width="180dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="numberSigned"
android:selectAllOnFocus="true"
android:textSize="@dimen/enterText" >
Java代码:
end = (EditText) findViewById(R.id.downAndDistanceEnding);
public void afterTextChanged(Editable s) {
int w = Integer.parseInt(end.getText().toString());
}
我假设我的textWatcher出现问题,并且在每次按下键盘时“发送”我的输入,因此当我尝试输入-12时,它会在我设法完成之前发送“-”代表“解析” ,这就是为什么我的应用崩溃的原因,对吗? 有人知道如何解决吗?
是的,你是对的。 将您的代码包装在try / catch块中,然后,当收到-时,将引发NumberFormatException并被捕获。
try
{
int w = Integer.parseInt(end.getText().toString());
}catch(NumberFormatException e)
{
}
我遇到了同样的问题。 我在分析之前放置了if条件。 这样,所以直到您输入第二个数字,它都不会解析。
end = (EditText) findViewById(R.id.downAndDistanceEnding);
public void afterTextChanged(Editable s) {
if(!end.getText().toString().equals("-"));
{
int w = Integer.parseInt(end.getText().toString());
} else { //do something }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.