1

これが良い質問かどうかはわかりませんが、これによって本当にブロックされています。アドバイスが必要です。

私は、アプリの一部が 2 つの異なるメニューで 2 つの個別の RSS フィードを取得する Android アプリに取り組んでいます。

両方のフィードに同じコードを使用していますが、両方のフィードが「奇妙」になります。

私が使用するいくつかの URL は問題なく表示され、タイトルはすべて適切に並んでいますが、必要な URL (1 つは ReverbNation (ショー スケジュール) からのもの、もう 1 つは Facebook (ウォール フィード) からのもの) など、使用する他の URL は最終的に表示されます。すべて「分割」。

結果を 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