0

私はsaxXML解析に取り組んでいます。

次のようなLogcatエラー...

java.lang.IndexOutOfBoundsException: Invalid index 11, size is 11 

でエラーが発生しました

map.put("pubdate", sitesList.getPubdate().get(i));

for (int i = 0; i < sitesList.getName().size(); i++) {
        System.out.println("value of i==============>"+i);
        HashMap<String, String> map = new HashMap<String, String>();

        System.out.println("\nvalue of title==============>"+ sitesList.getName().get(i));

        map.put("title", sitesList.getName().get(i));
        map.put("pubdate", sitesList.getPubdate().get(i));
        map.put("desc", sitesList.getDesc().get(i));

         items.add(map);

    }

みんな、ありがとう。

4

4 に答える 4

2

sitesList.getName()のサイズがsitesList.getPubdate()と同じであることを確認しますか?

その例外の唯一の理由は、sitesList.getName()がsitesList.getPubdate()よりも大きいためです:)

于 2012-05-31T10:10:23.130 に答える
1

ここでsitesListのサイズだと思います

の代わりに使用sitesList.size() sitesList.getName().size()

for (int i = 0; i < sitesList.size(); i++) {

        System.out.println("value of i==============>"+i);
        HashMap<String, String> map = new HashMap<String, String>();

        System.out.println("\nvalue of title==============>"+ sitesList.get(i).getName());

        map.put("title", sitesList.get(i).getName());
        map.put("pubdate", sitesList.get(i).getPubdate());
        map.put("desc", sitesList.get(i).getDesc());

        items.add(map);

    }
于 2012-05-31T10:09:04.047 に答える
0

あなたのループは次のように見えません:

for (int i = 0; i < sitesList.size(); i++) {
        System.out.println("value of i==============>"+i);
        HashMap<String, String> map = new HashMap<String, String>();

        System.out.println("\nvalue of title======>"+ sitesList.get(i).getName());

        map.put("title", sitesList.get(i).getName());
        map.put("pubdate", sitesList.get(i).getPubdate());
        map.put("desc",sitesList.get(i).getDesc());

         items.add(map);

    }
于 2012-05-31T10:15:56.890 に答える
0

すべてのおかげで、最終的に私は私の問題の解決策を手に入れました、ここでsitesList.getName()はsitesList.getPubdate()よりも大きいので、今私は使用します

for(int i = 0; i <sitesList.getName()。size(); i ++)の代わりに
for(int i = 0; i <sitesList.getPubdate()。size(); i ++)

for (int i = 0; i < sitesList.getPubdate().size(); i++) {
        System.out.println("value of i==============>"+i);
        HashMap<String, String> map = new HashMap<String, String>();


        map.put("title", sitesList.getName().get(i));
        map.put("pubdate", sitesList.getPubdate().get(i));
        map.put("desc", sitesList.getDesc().get(i));

         items.add(map);
    }
于 2012-05-31T11:33:28.660 に答える