У меня есть xml файл с такими атрибутами:
<folder name = 'somename' description = ''/>
Я хочу, чтобы атрибут описания отображался как "null", но он заставляет закрывать и бросает главную строку FATAL Exception в LogCat.
У меня этот код ниже в методе startElement()
if (localName.equalsIgnoreCase("folder")) {
/** Get attribute value */
if(attributes.getValue("description")== "null"){
parseList.setFolderdesc(null);
}else{
String desc = attributes.getValue("description");
parseList.setFolderdesc(desc);
}
я пробовал этот код, но не повезло... как я могу решить эту проблему без изменения моего xml файла?
попробуйте со следующим кодом
String desc = null;
try{
desc = attributes.getValue("description");
if((desc == null) || (desc.length()<=0)){
desc = null;
}
}catch(Exception ex){
desc = null;
}
if(parseList != null){
parseList.setFolderdesc(desc);
}
Этот код не делает то, что вы ожидаете:
if (attributes.getValue("description") == "null") {
Вы сравниваете значение атрибута со строкой "null"
не с java null
. (И вы также проверяете строки небезопасным способом! Строки должны быть проверены на равенство, используя String.equals()
не оператор ==
).
Этот тест должен быть написан следующим образом:
if (attributes.getValue("description") == null) {
или еще лучше:
if (attributes.getValue("description") == null ||
attributes.getValue("description").isEmpty()) {
(Я не уверен, что это исправит вашу проблему, потому что я не понимаю ваше описание проблемы.)