1

我不确定这是否是一个好问题,但我真的被这个阻止了。需要一些建议。

我正在开发一个 Android 应用程序,该应用程序的一部分是在 2 个不同的菜单中检索 2 个单独的 RSS 提要。

我对两个提要使用相同的代码,但两个提要都“奇怪”。

我使用的一些 url 很好,标题排列得很好,而我使用的其他 url,比如我需要的那些(一个来自 ReverbNation(显示时间表),一个来自 Facebook(墙提要)),最终得到显示全部“分裂”。

发生的情况是,当我将结果放入 ListView 并看到结果时,一些字符串已被拆分为单独的字符串/列表视图项,有些字符串甚至是空白并显示为空白列表视图项。

有人对我有什么建议吗?我知道这是一个模糊的问题,但我在这里碰壁了。

代码:

private class RSSHandler extends DefaultHandler
   {
        final int stateUnknown = 0;
        final int stateTitle = 1;
        final int stateLink = 2;
        int state = stateUnknown;

          @Override
          public void startDocument() throws SAXException {
           // TODO Auto-generated method stub
          }

          @Override
          public void endDocument() throws SAXException {
           // TODO Auto-generated method stub
          }

          @Override
          public void startElement(String uri, String localName, String qName,
            Attributes attributes) throws SAXException {

            localnames.add(localName);

           if (localName.equalsIgnoreCase("title"))
           {
               state = stateTitle;
           } else if (localName.equalsIgnoreCase("link")){
               state = stateLink;
           } else if (localName.equalsIgnoreCase("item")){
               Log.d("Tour", "item");
           }
           else
           {
               state = stateUnknown;
           }
      }

      @Override
      public void endElement(String uri, String localName, String qName)
        throws SAXException {
       // TODO Auto-generated method stub
       state = stateUnknown;
      }

      @Override
      public void characters(char[] ch, int start, int length)
        throws SAXException {
       // TODO Auto-generated method stub
       String strCharacters = new String(ch, start, length);

       xmlStrings.add(strCharacters);

       if (state == stateTitle)
       {
           item.add(strCharacters);

       } else if (state == stateLink)
       {
           itemLink.add(strCharacters);
       }
  }
4

0 回答 0