0

此代码正在引发 invocationTargetException。这段代码有几个问题:

  1. 它仍在输入 if 语句,即使我在没有任何输入到EditText.
  2. 我猜这个异常可能是因为parseInt没有任何东西可以解析(尽管这不应该是一个问题)。
  3. 这种类型异常的原因不应该是在正确的时间启动某些东西,不是吗?

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

也有点离题,我似乎找不到tag任何容器,如 aSpinnerEditText,当我mTag在程序运行时查看它的值时,这会影响我的if(parent.getTag() == "OBJECTIDGIVENBYMYSELF")并停止工作吗?还有一种更好的方法来获得tag价值(C#中的.getType())。

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

4

1 回答 1

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

上面的代码不是比较String内容的好习惯,只是因为比较运算符如“==”用于按引用而不是按值比较。我认为您应该改用以下代码

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

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

于 2012-06-28T04:31:06.790 回答