InvocationTargetException和编码讨论
此代码抛出invocationTargetException。 有几个问题与此代码:InvocationTargetException和编码讨论
- 它仍然是进入if语句,即使我明确告诉它不要太没事的时候被输入到
EditText
。 - 我猜这个例外可能发生,因为
parseInt
没有任何东西可以解析(尽管这不应该是一个问题)。 -
这种类型异常的原因应该是不是在正确的时间启动某些东西,如果不是这样?
if(ageText.getText().toString() != "" || ageText.getText().toString() != null) { newCharacterController.characterAge = Integer.parseInt(ageText.getText().toString()); }
一点题外话太多,我似乎无法找到任何容器的tag
像Spinner
或EditText
,当我看着它的mTag
值的程序运行时,会这会影响我的if(parent.getTag() == "OBJECTIDGIVENBYMYSELF")
并停止工作?还有更好的方法来获得值(在C#中的.getType())的tag
。
上述OBJECTNAMEGIVENBYMYSELF的示例是EditText ***newEditText*** = new EditText(this);
。
ageText.getText().toString() != ""
上面的代码不是比较字符串内容的好实践,只是因为使用比较运算符(如“==”)来比较引用而不是值。我认为你应该使用下面的代码代替
ageText.getText().toString().equals("")
而顺便说一句,在此之前检查null。
你是什么意思“检查null”。我会马上放弃这一点,谢谢。 –
在检查空字符串之前应该完成'ageText.getText()。toString()!= null'。在条件检查中这是一种常见的做法。但是,在Android中,'EditText.getText()。toString()'不应该为null,因此您可以简单地跳过空指针检查。 –
发布Logcat – Praveenkumar