InvocationTargetException和编码讨论

时间:2012-06-28 04:22:52

标签: android

此代码抛出一个invocationTargetException。 这段代码存在一些问题:

  1. 即使我在EditText没有输入任何内容时也明确告诉它,它仍在进入if语句。
  2. 我猜测由于parseInt无法解析任何内容而可能发生异常(虽然这不应该是一个问题)。
  3. 这种类型异常的原因应该是在正确的时间启动某些内容,如果不是的话?

    if(ageText.getText().toString() != "" || ageText.getText().toString() != null)
    {
        newCharacterController.characterAge = Integer.parseInt(ageText.getText().toString());
    }
    
  4. 有点偏离主题,当我查看tag值时,我似乎无法找到SpinnerEditText等任何容器的mTag当程序运行时,这会影响我的if(parent.getTag() == "OBJECTIDGIVENBYMYSELF")并停止工作吗?还有一种更好的方法来获得tag值(C#中的.getType())。

    上述OBJECTNAMEGIVENBYMYSELF的一个例子是EditText ***newEditText*** = new EditText(this);

1 个答案:

答案 0 :(得分:0)

ageText.getText().toString() != ""

上述代码不是比较String内容的好习惯,只是因为比较运算符(如“==”)用于按引用进行比较而不是值。我认为你应该使用以下代码

ageText.getText().toString().equals("")

顺便说一下,在此之前检查null。