2012-06-28 4 views
0

Этот код генерирует исключение invocationTargetException. Есть несколько проблем с этим кодом:InvocationTargetException и обсуждение кодировки

  1. Это еще входя в, если заявление, хотя я специально сказал это не слишком, когда ничего не вводится в EditText.
  2. Я предполагаю, что исключение могло произойти из-за того, что parseInt не имеет ничего для анализа (хотя это не должно быть проблемой).
  3. Причиной такого исключения является не начало чего-либо в нужное время, не так ли?

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

Немного не по теме, я тоже не могу показаться, чтобы найти tag любого из контейнеров, как Spinner или EditText, когда я смотрю в mTag значение этого, когда программа запущена, будет это повлияет на мой if(parent.getTag() == "OBJECTIDGIVENBYMYSELF") и остановится, если от работы? Также есть лучший способ получить значение tag (.getType() в C#).

Примером вышеуказанного OBJECTNAMEGIVBYMYSELF является EditText ***newEditText*** = new EditText(this);.

+0

Опубликовать Logcat – Praveenkumar

ответ

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

Приведенный выше код не является хорошей практикой, чтобы сравнить содержимое строки, просто потому, что оператор сравнения, такие как «==» используется для сравнения с опорным значением, но не. Я думаю, что вы должны использовать следующий код:

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

И, кстати, перед тем, как это сделать, отметьте null.

+0

Что значит «check null». Я дам это сейчас, спасибо. –

+0

'oldText.getText(). ToString()! = Null' должно быть выполнено перед проверкой пустой строки. Это обычная практика проверки состояния. Тем не менее, в Android, 'EditText.getText(). ToString()' никогда не должно быть пустым, поэтому вы можете просто пропустить проверку нулевого указателя. –

Смежные вопросы