此代码抛出一个invocationTargetException。 这段代码存在一些问题:
EditText
没有输入任何内容时也明确告诉它,它仍在进入if语句。parseInt
无法解析任何内容而可能发生异常(虽然这不应该是一个问题)。这种类型异常的原因应该是在正确的时间启动某些内容,如果不是的话?
if(ageText.getText().toString() != "" || ageText.getText().toString() != null)
{
newCharacterController.characterAge = Integer.parseInt(ageText.getText().toString());
}
有点偏离主题,当我查看tag
值时,我似乎无法找到Spinner
或EditText
等任何容器的mTag
当程序运行时,这会影响我的if(parent.getTag() == "OBJECTIDGIVENBYMYSELF")
并停止工作吗?还有一种更好的方法来获得tag
值(C#中的.getType())。
上述OBJECTNAMEGIVENBYMYSELF的一个例子是EditText ***newEditText*** = new EditText(this);
。
答案 0 :(得分:0)
ageText.getText().toString() != ""
上述代码不是比较String内容的好习惯,只是因为比较运算符(如“==”)用于按引用进行比较而不是值。我认为你应该使用以下代码
ageText.getText().toString().equals("")
顺便说一下,在此之前检查null。