InvocationTargetException和编码讨论

问题描述:

此代码抛出invocationTargetException。 有几个问题与此代码:InvocationTargetException和编码讨论

  1. 它仍然是进入if语句,即使我明确告诉它不要太没事的时候被输入到EditText
  2. 我猜这个例外可能发生,因为parseInt没有任何东西可以解析(尽管这不应该是一个问题)。
  3. 这种类型异常的原因应该是不是在正确的时间启动某些东西,如果不是这样?

    if(ageText.getText().toString() != "" || ageText.getText().toString() != null) 
    { 
        newCharacterController.characterAge = Integer.parseInt(ageText.getText().toString()); 
    } 
    

一点题外话太多,我似乎无法找到任何容器的tagSpinnerEditText,当我看着它的mTag值的程序运行时,会这会影响我的if(parent.getTag() == "OBJECTIDGIVENBYMYSELF")并停止工作?还有更好的方法来获得值(在C#中的.getType())的tag

上述OBJECTNAMEGIVENBYMYSELF的示例是EditText ***newEditText*** = new EditText(this);

+0

发布Logcat – Praveenkumar

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

上面的代码不是比较字符串内容的好实践,只是因为使用比较运算符(如“==”)来比较引用而不是值。我认为你应该使用下面的代码代替

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

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

+0

你是什么意思“检查null”。我会马上放弃这一点,谢谢。 –

+0

在检查空字符串之前应该完成'ageText.getText()。toString()!= null'。在条件检查中这是一种常见的做法。但是,在Android中,'EditText.getText()。toString()'不应该为null,因此您可以简单地跳过空指针检查。 –